; ModuleID = 'kruskal-example.cpp'
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32-S128"
target triple = "i386-pc-linux-gnu"

%"class.std::ios_base::Init" = type { i8 }
%"class.boost::detail::make_property_map_from_arg_pack_gen" = type { i32 }
%"class.std::basic_ostream" = type { i32 (...)**, %"class.std::basic_ios" }
%"class.std::basic_ios" = type { %"class.std::ios_base", %"class.std::basic_ostream"*, i8, i8, %"class.std::basic_streambuf"*, %"class.std::ctype"*, %"class.std::num_put"*, %"class.std::num_get"* }
%"class.std::ios_base" = type { i32 (...)**, i32, i32, i32, i32, i32, %"struct.std::ios_base::_Callback_list"*, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, %"struct.std::ios_base::_Words"*, %"class.std::locale" }
%"struct.std::ios_base::_Callback_list" = type { %"struct.std::ios_base::_Callback_list"*, void (i32, %"class.std::ios_base"*, i32)*, i32, i32 }
%"struct.std::ios_base::_Words" = type { i8*, i32 }
%"class.std::locale" = type { %"class.std::locale::_Impl"* }
%"class.std::locale::_Impl" = type { i32, %"class.std::locale::facet"**, i32, %"class.std::locale::facet"**, i8** }
%"class.std::locale::facet" = type { i32 (...)**, i32 }
%"class.std::basic_streambuf" = type { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, %"class.std::locale" }
%"class.std::ctype" = type { %"class.std::locale::facet", %struct.__locale_struct*, i8, i32*, i32*, i16*, i8, [256 x i8], [256 x i8], i8 }
%struct.__locale_struct = type { [13 x %struct.__locale_data*], i16*, i32*, i32*, [13 x i8*] }
%struct.__locale_data = type opaque
%"class.std::num_put" = type { %"class.std::locale::facet" }
%"class.std::num_get" = type { %"class.std::locale::facet" }
%"struct.std::pair" = type { i32, i32 }
%"class.boost::adjacency_list" = type { %"class.boost::vec_adj_list_impl", %"class.boost::scoped_ptr" }
%"class.boost::vec_adj_list_impl" = type { %"class.std::list", %"class.std::vector" }
%"class.std::list" = type { %"class.std::_List_base" }
%"class.std::_List_base" = type { %"struct.std::_List_base<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_List_impl" }
%"struct.std::_List_base<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_List_impl" = type { %"struct.std::__detail::_List_node_base" }
%"struct.std::__detail::_List_node_base" = type { %"struct.std::__detail::_List_node_base"*, %"struct.std::__detail::_List_node_base"* }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl" }
%"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl" = type { %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* }
%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex" = type { %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex" }
%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex" = type { %"class.std::vector.11", %"struct.boost::no_property" }
%"class.std::vector.11" = type { %"struct.std::_Vector_base.12" }
%"struct.std::_Vector_base.12" = type { %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl" }
%"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl" = type { %"class.boost::detail::stored_edge_iter"*, %"class.boost::detail::stored_edge_iter"*, %"class.boost::detail::stored_edge_iter"* }
%"class.boost::detail::stored_edge_iter" = type { %"class.boost::detail::stored_edge", %"struct.std::_List_iterator" }
%"class.boost::detail::stored_edge" = type { i32 }
%"struct.std::_List_iterator" = type { %"struct.std::__detail::_List_node_base"* }
%"struct.boost::no_property" = type { i8 }
%"class.boost::scoped_ptr" = type { %"struct.boost::no_property"* }
%"struct.boost::adj_list_edge_property_map" = type { i32 }
%"class.std::vector.3" = type { %"struct.std::_Vector_base.4" }
%"struct.std::_Vector_base.4" = type { %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl" }
%"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl" = type { %"class.boost::detail::edge_desc_impl"*, %"class.boost::detail::edge_desc_impl"*, %"class.boost::detail::edge_desc_impl"* }
%"class.boost::detail::edge_desc_impl" = type { %"struct.boost::detail::edge_base", i8* }
%"struct.boost::detail::edge_base" = type { i32, i32 }
%"class.std::back_insert_iterator" = type { %"class.std::vector.3"* }
%"class.__gnu_cxx::__normal_iterator" = type { %"class.boost::detail::edge_desc_impl"* }
%"class.std::basic_ofstream" = type { %"class.std::basic_ostream.base", %"class.std::basic_filebuf", %"class.std::basic_ios" }
%"class.std::basic_ostream.base" = type { i32 (...)** }
%"class.std::basic_filebuf" = type { %"class.std::basic_streambuf", %union.pthread_mutex_t, %"class.std::__basic_file", i32, %struct.__mbstate_t, %struct.__mbstate_t, %struct.__mbstate_t, i8*, i32, i8, i8, i8, i8, i8*, i8*, i8, %"class.std::codecvt"*, i8*, i32, i8*, i8* }
%union.pthread_mutex_t = type { %"struct.<anonymous union>::__pthread_mutex_s" }
%"struct.<anonymous union>::__pthread_mutex_s" = type { i32, i32, i32, i32, i32, %union.anon }
%union.anon = type { i32 }
%"class.std::__basic_file" = type { %struct._IO_FILE*, i8 }
%struct._IO_FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct._IO_FILE*, i32, i32, i32, i16, i8, [1 x i8], i8*, i64, i8*, i8*, i8*, i8*, i32, i32, [40 x i8] }
%struct._IO_marker = type { %struct._IO_marker*, %struct._IO_FILE*, i32 }
%struct.__mbstate_t = type { i32, %union.anon.8 }
%union.anon.8 = type { i32 }
%"class.std::codecvt" = type { %"class.std::__codecvt_abstract_base", %struct.__locale_struct* }
%"class.std::__codecvt_abstract_base" = type { %"class.std::locale::facet" }
%"struct.boost::detail::undirected_edge_iter" = type { %"class.boost::iterator_adaptor" }
%"class.boost::iterator_adaptor" = type { %"struct.std::_List_iterator" }
%"class.boost::tuples::tuple" = type { %"struct.boost::tuples::cons" }
%"struct.boost::tuples::cons" = type { %"struct.boost::detail::undirected_edge_iter"*, %"struct.boost::tuples::cons.9" }
%"struct.boost::tuples::cons.9" = type { %"struct.boost::detail::undirected_edge_iter"* }
%"struct.std::pair.10" = type { %"struct.boost::detail::undirected_edge_iter", %"struct.boost::detail::undirected_edge_iter" }
%"struct.boost::adj_list_helper" = type { i8 }
%"struct.boost::undirected_graph_helper" = type { i8 }
%"class.boost::iterator_facade" = type { i8 }
%"struct.boost::edge_property_tag" = type { i8 }
%"class.std::vector.16" = type { %"struct.std::_Vector_base.17" }
%"struct.std::_Vector_base.17" = type { %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl" }
%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl" = type { i32*, i32*, i32* }
%"class.std::allocator.18" = type { i8 }
%"class.boost::iterator_property_map" = type { %"class.__gnu_cxx::__normal_iterator.22", %"struct.boost::vec_adj_list_vertex_id_map" }
%"class.__gnu_cxx::__normal_iterator.22" = type { i32* }
%"struct.boost::vec_adj_list_vertex_id_map" = type { i8 }
%"struct.boost::adj_list_edge_property_map.24" = type { i32 }
%"struct.boost::property" = type { i32, %"struct.boost::no_property" }
%"struct.mpl_::bool_" = type { i8 }
%"struct.boost::is_convertible" = type { i8 }
%"struct.std::random_access_iterator_tag" = type { i8 }
%"struct.boost::put_get_helper" = type { i8 }
%"struct.boost::list_edge" = type { %"struct.boost::detail::edge_base", %"struct.boost::property" }
%"struct.std::_List_node" = type { %"struct.std::__detail::_List_node_base", %"struct.boost::list_edge" }
%"struct.boost::tuples::null_type" = type { i8 }
%"class.boost::integer_range" = type { %"class.boost::iterator_range" }
%"class.boost::iterator_range" = type { %"class.boost::range_detail::integer_iterator", %"class.boost::range_detail::integer_iterator" }
%"class.boost::range_detail::integer_iterator" = type { i32 }
%"class.boost::disjoint_sets" = type { %"class.boost::iterator_property_map", %"class.boost::iterator_property_map", %"struct.boost::find_with_full_path_compression" }
%"struct.boost::find_with_full_path_compression" = type { i8 }
%"class.boost::tuples::tuple.27" = type { %"struct.boost::tuples::cons.28" }
%"struct.boost::tuples::cons.28" = type { %"class.boost::range_detail::integer_iterator"*, %"struct.boost::tuples::cons.29" }
%"struct.boost::tuples::cons.29" = type { %"class.boost::range_detail::integer_iterator"* }
%"struct.std::pair.30" = type { %"class.boost::range_detail::integer_iterator", %"class.boost::range_detail::integer_iterator" }
%"class.boost::indirect_cmp" = type { %"struct.boost::adj_list_edge_property_map.24", %"struct.std::greater" }
%"struct.std::greater" = type { i8 }
%"class.std::priority_queue" = type { %"class.std::vector.3", %"class.boost::indirect_cmp" }
%"class.boost::iterator_facade.26" = type { i8 }
%"struct.boost::RandomAccessIteratorConcept" = type { %"struct.boost::RandomAccessIterator" }
%"struct.boost::RandomAccessIterator" = type { %"struct.boost::BidirectionalIterator", %"struct.boost::Comparable", %"class.__gnu_cxx::__normal_iterator.22", %"class.__gnu_cxx::__normal_iterator.22", %"class.__gnu_cxx::__normal_iterator.22", %"class.__gnu_cxx::__normal_iterator.22", i32 }
%"struct.boost::BidirectionalIterator" = type { %"struct.boost::ForwardIterator", %"class.__gnu_cxx::__normal_iterator.22" }
%"struct.boost::ForwardIterator" = type { %"struct.boost::InputIterator", %"class.__gnu_cxx::__normal_iterator.22" }
%"struct.boost::InputIterator" = type { %"struct.boost::Assignable", %"struct.boost::EqualityComparable", %"class.__gnu_cxx::__normal_iterator.22" }
%"struct.boost::Assignable" = type { %"class.__gnu_cxx::__normal_iterator.22", %"class.__gnu_cxx::__normal_iterator.22" }
%"struct.boost::EqualityComparable" = type { %"class.__gnu_cxx::__normal_iterator.22", %"class.__gnu_cxx::__normal_iterator.22" }
%"struct.boost::Comparable" = type { %"class.__gnu_cxx::__normal_iterator.22", %"class.__gnu_cxx::__normal_iterator.22" }
%"struct.boost::vertex_property_tag" = type { i8 }
%"class.__gnu_cxx::new_allocator.19" = type { i8 }
%"struct.boost::put_get_helper.25" = type { i8 }
%"struct.boost::put_get_helper.23" = type { i8 }
%"struct.boost::put_get_helper.21" = type { i8 }
%"struct.boost::is_convertible.32" = type { i8 }
%"class.__gnu_cxx::new_allocator.6" = type { i8 }
%"class.std::allocator.5" = type { i8 }
%"class.__gnu_cxx::__normal_iterator.31" = type { %"class.boost::detail::edge_desc_impl"* }
%"struct.std::iterator" = type { i8 }
%"struct.boost::graph::maybe_named_graph" = type { i8 }
%"class.std::allocator.0" = type { i8 }
%"struct.std::pair.36" = type { %"class.boost::detail::edge_desc_impl", i8 }
%"class.std::allocator.33" = type { i8 }
%"class.__gnu_cxx::new_allocator.34" = type { i8 }
%"class.std::allocator" = type { i8 }
%"class.__gnu_cxx::new_allocator" = type { i8 }
%"class.__gnu_cxx::new_allocator.1" = type { i8 }
%"class.std::allocator.13" = type { i8 }
%"class.__gnu_cxx::new_allocator.14" = type { i8 }
%"class.__gnu_cxx::__normal_iterator.43" = type { %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* }
%"struct.std::pair.37" = type { %"struct.std::_List_iterator", i8 }
%"class.__gnu_cxx::__normal_iterator.38" = type { %"class.boost::detail::stored_edge_iter"* }
%"class.boost::tuples::tuple.39" = type { %"struct.boost::tuples::cons.40" }
%"struct.boost::tuples::cons.40" = type { %"class.__gnu_cxx::__normal_iterator.38"*, %"struct.boost::tuples::cons.41" }
%"struct.boost::tuples::cons.41" = type { i8* }
%"struct.std::pair.42" = type { %"class.__gnu_cxx::__normal_iterator.38", i8 }
%"struct.boost::graph_detail::back_insertion_sequence_tag" = type { %"struct.boost::graph_detail::sequence_tag" }
%"struct.boost::graph_detail::sequence_tag" = type { %"struct.boost::graph_detail::forward_container_tag" }
%"struct.boost::graph_detail::forward_container_tag" = type { i32 (...)** }
%"struct.boost::graph_detail::list_tag" = type { %"struct.boost::graph_detail::reversible_container_tag", %"struct.boost::graph_detail::back_insertion_sequence_tag" }
%"struct.boost::graph_detail::reversible_container_tag" = type { %"struct.boost::graph_detail::forward_container_tag" }
%"struct.boost::graph_detail::vector_tag" = type { %"struct.boost::graph_detail::random_access_container_tag", %"struct.boost::graph_detail::back_insertion_sequence_tag" }
%"struct.boost::graph_detail::random_access_container_tag" = type { %"struct.boost::graph_detail::reversible_container_tag" }
%"struct.boost::equality_comparable1" = type { i8 }
%"struct.boost::graph_detail::container_tag" = type { i8 }
%"class.__gnu_cxx::__normal_iterator.44" = type { %"class.boost::detail::stored_edge_iter"* }

@_ZStL8__ioinit = internal global %"class.std::ios_base::Init" zeroinitializer, align 1
@__dso_handle = external global i8
@_ZN5boost6detailL28make_color_map_from_arg_packE = internal global %"class.boost::detail::make_property_map_from_arg_pack_gen" zeroinitializer, align 4
@_ZZ4mainE7weights = private unnamed_addr constant [8 x i32] [i32 1, i32 1, i32 2, i32 7, i32 3, i32 1, i32 1, i32 1], align 4
@_ZSt4cout = external global %"class.std::basic_ostream"
@.str = private unnamed_addr constant [28 x i8] c"Print the edges in the MST:\00", align 1
@.str2 = private unnamed_addr constant [7 x i8] c" <--> \00", align 1
@.str3 = private unnamed_addr constant [17 x i8] c" with weight of \00", align 1
@.str4 = private unnamed_addr constant [20 x i8] c"figs/kruskal-eg.dot\00", align 1
@.str5 = private unnamed_addr constant [11 x i8] c"graph A {\0A\00", align 1
@.str6 = private unnamed_addr constant [13 x i8] c" rankdir=LR\0A\00", align 1
@.str7 = private unnamed_addr constant [13 x i8] c" size=\223,3\22\0A\00", align 1
@.str8 = private unnamed_addr constant [17 x i8] c" ratio=\22filled\22\0A\00", align 1
@.str9 = private unnamed_addr constant [21 x i8] c" edge[style=\22bold\22]\0A\00", align 1
@.str10 = private unnamed_addr constant [23 x i8] c" node[shape=\22circle\22]\0A\00", align 1
@.str11 = private unnamed_addr constant [5 x i8] c" -- \00", align 1
@.str12 = private unnamed_addr constant [24 x i8] c"[color=\22black\22, label=\22\00", align 1
@.str13 = private unnamed_addr constant [5 x i8] c"\22];\0A\00", align 1
@.str14 = private unnamed_addr constant [23 x i8] c"[color=\22gray\22, label=\22\00", align 1
@.str15 = private unnamed_addr constant [3 x i8] c"}\0A\00", align 1
@.str16 = private unnamed_addr constant [22 x i8] c"vector::_M_insert_aux\00", align 1
@_ZTVN5boost12graph_detail10vector_tagE = linkonce_odr unnamed_addr constant [13 x i8*] [i8* inttoptr (i32 4 to i8*), i8* inttoptr (i32 4 to i8*), i8* null, i8* null, i8* null, i8* null, i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32, i8*, i32 }* @_ZTIN5boost12graph_detail10vector_tagE to i8*), i8* null, i8* inttoptr (i32 -4 to i8*), i8* inttoptr (i32 -4 to i8*), i8* inttoptr (i32 -4 to i8*), i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32, i8*, i32 }* @_ZTIN5boost12graph_detail10vector_tagE to i8*)]
@_ZTTN5boost12graph_detail10vector_tagE = linkonce_odr unnamed_addr constant [17 x i8*] [i8* bitcast (i8** getelementptr inbounds ([13 x i8*]* @_ZTVN5boost12graph_detail10vector_tagE, i64 0, i64 8) to i8*), i8* bitcast (i8** getelementptr inbounds ([13 x i8*]* @_ZTVN5boost12graph_detail10vector_tagE, i64 0, i64 8) to i8*), i8* bitcast (i8** getelementptr inbounds ([13 x i8*]* @_ZTVN5boost12graph_detail10vector_tagE, i64 0, i64 8) to i8*), i8* bitcast (i8** getelementptr inbounds ([13 x i8*]* @_ZTVN5boost12graph_detail10vector_tagE, i64 0, i64 8) to i8*), i8* bitcast (i8** getelementptr inbounds ([13 x i8*]* @_ZTVN5boost12graph_detail10vector_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([13 x i8*]* @_ZTVN5boost12graph_detail10vector_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([5 x i8*]* @_ZTCN5boost12graph_detail10vector_tagE0_NS0_27random_access_container_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([5 x i8*]* @_ZTCN5boost12graph_detail10vector_tagE0_NS0_27random_access_container_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([5 x i8*]* @_ZTCN5boost12graph_detail10vector_tagE0_NS0_27random_access_container_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([4 x i8*]* @_ZTCN5boost12graph_detail10vector_tagE0_NS0_24reversible_container_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([4 x i8*]* @_ZTCN5boost12graph_detail10vector_tagE0_NS0_24reversible_container_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([3 x i8*]* @_ZTCN5boost12graph_detail10vector_tagE0_NS0_21forward_container_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTCN5boost12graph_detail10vector_tagE4_NS0_27back_insertion_sequence_tagE, i64 0, i64 5) to i8*), i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTCN5boost12graph_detail10vector_tagE4_NS0_27back_insertion_sequence_tagE, i64 0, i64 5) to i8*), i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTCN5boost12graph_detail10vector_tagE4_NS0_27back_insertion_sequence_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([7 x i8*]* @_ZTCN5boost12graph_detail10vector_tagE4_NS0_12sequence_tagE, i64 0, i64 4) to i8*), i8* bitcast (i8** getelementptr inbounds ([7 x i8*]* @_ZTCN5boost12graph_detail10vector_tagE4_NS0_12sequence_tagE, i64 1, i64 0) to i8*)]
@_ZTVN10__cxxabiv121__vmi_class_type_infoE = external global i8*
@_ZTSN5boost12graph_detail10vector_tagE = linkonce_odr constant [35 x i8] c"N5boost12graph_detail10vector_tagE\00"
@_ZTSN5boost12graph_detail27random_access_container_tagE = linkonce_odr constant [52 x i8] c"N5boost12graph_detail27random_access_container_tagE\00"
@_ZTSN5boost12graph_detail24reversible_container_tagE = linkonce_odr constant [49 x i8] c"N5boost12graph_detail24reversible_container_tagE\00"
@_ZTSN5boost12graph_detail21forward_container_tagE = linkonce_odr constant [46 x i8] c"N5boost12graph_detail21forward_container_tagE\00"
@_ZTVN10__cxxabiv117__class_type_infoE = external global i8*
@_ZTSN5boost12graph_detail13container_tagE = linkonce_odr constant [38 x i8] c"N5boost12graph_detail13container_tagE\00"
@_ZTIN5boost12graph_detail13container_tagE = linkonce_odr unnamed_addr constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv117__class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([38 x i8]* @_ZTSN5boost12graph_detail13container_tagE, i32 0, i32 0) }
@_ZTIN5boost12graph_detail21forward_container_tagE = linkonce_odr unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([46 x i8]* @_ZTSN5boost12graph_detail21forward_container_tagE, i32 0, i32 0), i32 0, i32 1, i8* bitcast ({ i8*, i8* }* @_ZTIN5boost12graph_detail13container_tagE to i8*), i32 -3069 }
@_ZTIN5boost12graph_detail24reversible_container_tagE = linkonce_odr unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([49 x i8]* @_ZTSN5boost12graph_detail24reversible_container_tagE, i32 0, i32 0), i32 0, i32 1, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail21forward_container_tagE to i8*), i32 -4093 }
@_ZTIN5boost12graph_detail27random_access_container_tagE = linkonce_odr unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([52 x i8]* @_ZTSN5boost12graph_detail27random_access_container_tagE, i32 0, i32 0), i32 0, i32 1, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail24reversible_container_tagE to i8*), i32 -5117 }
@_ZTSN5boost12graph_detail27back_insertion_sequence_tagE = linkonce_odr constant [52 x i8] c"N5boost12graph_detail27back_insertion_sequence_tagE\00"
@_ZTSN5boost12graph_detail12sequence_tagE = linkonce_odr constant [37 x i8] c"N5boost12graph_detail12sequence_tagE\00"
@_ZTIN5boost12graph_detail12sequence_tagE = linkonce_odr unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([37 x i8]* @_ZTSN5boost12graph_detail12sequence_tagE, i32 0, i32 0), i32 0, i32 1, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail21forward_container_tagE to i8*), i32 -4093 }
@_ZTIN5boost12graph_detail27back_insertion_sequence_tagE = linkonce_odr unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([52 x i8]* @_ZTSN5boost12graph_detail27back_insertion_sequence_tagE, i32 0, i32 0), i32 0, i32 1, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail12sequence_tagE to i8*), i32 -5117 }
@_ZTIN5boost12graph_detail10vector_tagE = linkonce_odr unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([35 x i8]* @_ZTSN5boost12graph_detail10vector_tagE, i32 0, i32 0), i32 2, i32 2, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail27random_access_container_tagE to i8*), i32 -6141, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail27back_insertion_sequence_tagE to i8*), i32 -7165 }
@_ZTCN5boost12graph_detail10vector_tagE0_NS0_27random_access_container_tagE = linkonce_odr unnamed_addr constant [5 x i8*] [i8* null, i8* null, i8* null, i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail27random_access_container_tagE to i8*)]
@_ZTCN5boost12graph_detail10vector_tagE0_NS0_24reversible_container_tagE = linkonce_odr unnamed_addr constant [4 x i8*] [i8* null, i8* null, i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail24reversible_container_tagE to i8*)]
@_ZTCN5boost12graph_detail10vector_tagE0_NS0_21forward_container_tagE = linkonce_odr unnamed_addr constant [3 x i8*] [i8* null, i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail21forward_container_tagE to i8*)]
@_ZTCN5boost12graph_detail10vector_tagE4_NS0_27back_insertion_sequence_tagE = linkonce_odr unnamed_addr constant [8 x i8*] [i8* null, i8* inttoptr (i32 -4 to i8*), i8* inttoptr (i32 -4 to i8*), i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail27back_insertion_sequence_tagE to i8*), i8* null, i8* inttoptr (i32 4 to i8*), i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail27back_insertion_sequence_tagE to i8*)]
@_ZTCN5boost12graph_detail10vector_tagE4_NS0_12sequence_tagE = linkonce_odr unnamed_addr constant [7 x i8*] [i8* inttoptr (i32 -4 to i8*), i8* inttoptr (i32 -4 to i8*), i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail12sequence_tagE to i8*), i8* null, i8* inttoptr (i32 4 to i8*), i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail12sequence_tagE to i8*)]
@_ZTVN5boost12graph_detail27back_insertion_sequence_tagE = linkonce_odr unnamed_addr constant [5 x i8*] [i8* null, i8* null, i8* null, i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail27back_insertion_sequence_tagE to i8*)]
@_ZTTN5boost12graph_detail27back_insertion_sequence_tagE = linkonce_odr unnamed_addr constant [6 x i8*] [i8* bitcast (i8** getelementptr inbounds ([5 x i8*]* @_ZTVN5boost12graph_detail27back_insertion_sequence_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([5 x i8*]* @_ZTVN5boost12graph_detail27back_insertion_sequence_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([5 x i8*]* @_ZTVN5boost12graph_detail27back_insertion_sequence_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([4 x i8*]* @_ZTCN5boost12graph_detail27back_insertion_sequence_tagE0_NS0_12sequence_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([4 x i8*]* @_ZTCN5boost12graph_detail27back_insertion_sequence_tagE0_NS0_12sequence_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([3 x i8*]* @_ZTCN5boost12graph_detail27back_insertion_sequence_tagE0_NS0_21forward_container_tagE, i64 1, i64 0) to i8*)]
@_ZTCN5boost12graph_detail27back_insertion_sequence_tagE0_NS0_12sequence_tagE = linkonce_odr unnamed_addr constant [4 x i8*] [i8* null, i8* null, i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail12sequence_tagE to i8*)]
@_ZTCN5boost12graph_detail27back_insertion_sequence_tagE0_NS0_21forward_container_tagE = linkonce_odr unnamed_addr constant [3 x i8*] [i8* null, i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail21forward_container_tagE to i8*)]
@_ZTVN5boost12graph_detail12sequence_tagE = linkonce_odr unnamed_addr constant [4 x i8*] [i8* null, i8* null, i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail12sequence_tagE to i8*)]
@_ZTTN5boost12graph_detail12sequence_tagE = linkonce_odr unnamed_addr constant [3 x i8*] [i8* bitcast (i8** getelementptr inbounds ([4 x i8*]* @_ZTVN5boost12graph_detail12sequence_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([4 x i8*]* @_ZTVN5boost12graph_detail12sequence_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([3 x i8*]* @_ZTCN5boost12graph_detail12sequence_tagE0_NS0_21forward_container_tagE, i64 1, i64 0) to i8*)]
@_ZTCN5boost12graph_detail12sequence_tagE0_NS0_21forward_container_tagE = linkonce_odr unnamed_addr constant [3 x i8*] [i8* null, i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail21forward_container_tagE to i8*)]
@_ZTVN5boost12graph_detail27random_access_container_tagE = linkonce_odr unnamed_addr constant [5 x i8*] [i8* null, i8* null, i8* null, i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail27random_access_container_tagE to i8*)]
@_ZTTN5boost12graph_detail27random_access_container_tagE = linkonce_odr unnamed_addr constant [6 x i8*] [i8* bitcast (i8** getelementptr inbounds ([5 x i8*]* @_ZTVN5boost12graph_detail27random_access_container_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([5 x i8*]* @_ZTVN5boost12graph_detail27random_access_container_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([5 x i8*]* @_ZTVN5boost12graph_detail27random_access_container_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([4 x i8*]* @_ZTCN5boost12graph_detail27random_access_container_tagE0_NS0_24reversible_container_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([4 x i8*]* @_ZTCN5boost12graph_detail27random_access_container_tagE0_NS0_24reversible_container_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([3 x i8*]* @_ZTCN5boost12graph_detail27random_access_container_tagE0_NS0_21forward_container_tagE, i64 1, i64 0) to i8*)]
@_ZTCN5boost12graph_detail27random_access_container_tagE0_NS0_24reversible_container_tagE = linkonce_odr unnamed_addr constant [4 x i8*] [i8* null, i8* null, i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail24reversible_container_tagE to i8*)]
@_ZTCN5boost12graph_detail27random_access_container_tagE0_NS0_21forward_container_tagE = linkonce_odr unnamed_addr constant [3 x i8*] [i8* null, i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail21forward_container_tagE to i8*)]
@_ZTVN5boost12graph_detail24reversible_container_tagE = linkonce_odr unnamed_addr constant [4 x i8*] [i8* null, i8* null, i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail24reversible_container_tagE to i8*)]
@_ZTTN5boost12graph_detail24reversible_container_tagE = linkonce_odr unnamed_addr constant [3 x i8*] [i8* bitcast (i8** getelementptr inbounds ([4 x i8*]* @_ZTVN5boost12graph_detail24reversible_container_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([4 x i8*]* @_ZTVN5boost12graph_detail24reversible_container_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([3 x i8*]* @_ZTCN5boost12graph_detail24reversible_container_tagE0_NS0_21forward_container_tagE, i64 1, i64 0) to i8*)]
@_ZTCN5boost12graph_detail24reversible_container_tagE0_NS0_21forward_container_tagE = linkonce_odr unnamed_addr constant [3 x i8*] [i8* null, i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail21forward_container_tagE to i8*)]
@_ZTVN5boost12graph_detail21forward_container_tagE = linkonce_odr unnamed_addr constant [3 x i8*] [i8* null, i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail21forward_container_tagE to i8*)]
@_ZTTN5boost12graph_detail21forward_container_tagE = linkonce_odr unnamed_addr constant [1 x i8*] [i8* bitcast (i8** getelementptr inbounds ([3 x i8*]* @_ZTVN5boost12graph_detail21forward_container_tagE, i64 1, i64 0) to i8*)]
@_ZTVN5boost12graph_detail8list_tagE = linkonce_odr unnamed_addr constant [12 x i8*] [i8* inttoptr (i32 4 to i8*), i8* inttoptr (i32 4 to i8*), i8* null, i8* null, i8* null, i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32, i8*, i32 }* @_ZTIN5boost12graph_detail8list_tagE to i8*), i8* null, i8* inttoptr (i32 -4 to i8*), i8* inttoptr (i32 -4 to i8*), i8* inttoptr (i32 -4 to i8*), i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32, i8*, i32 }* @_ZTIN5boost12graph_detail8list_tagE to i8*)]
@_ZTTN5boost12graph_detail8list_tagE = linkonce_odr unnamed_addr constant [13 x i8*] [i8* bitcast (i8** getelementptr inbounds ([12 x i8*]* @_ZTVN5boost12graph_detail8list_tagE, i64 0, i64 7) to i8*), i8* bitcast (i8** getelementptr inbounds ([12 x i8*]* @_ZTVN5boost12graph_detail8list_tagE, i64 0, i64 7) to i8*), i8* bitcast (i8** getelementptr inbounds ([12 x i8*]* @_ZTVN5boost12graph_detail8list_tagE, i64 0, i64 7) to i8*), i8* bitcast (i8** getelementptr inbounds ([12 x i8*]* @_ZTVN5boost12graph_detail8list_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([12 x i8*]* @_ZTVN5boost12graph_detail8list_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([4 x i8*]* @_ZTCN5boost12graph_detail8list_tagE0_NS0_24reversible_container_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([4 x i8*]* @_ZTCN5boost12graph_detail8list_tagE0_NS0_24reversible_container_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([3 x i8*]* @_ZTCN5boost12graph_detail8list_tagE0_NS0_21forward_container_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTCN5boost12graph_detail8list_tagE4_NS0_27back_insertion_sequence_tagE, i64 0, i64 5) to i8*), i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTCN5boost12graph_detail8list_tagE4_NS0_27back_insertion_sequence_tagE, i64 0, i64 5) to i8*), i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTCN5boost12graph_detail8list_tagE4_NS0_27back_insertion_sequence_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([7 x i8*]* @_ZTCN5boost12graph_detail8list_tagE4_NS0_12sequence_tagE, i64 0, i64 4) to i8*), i8* bitcast (i8** getelementptr inbounds ([7 x i8*]* @_ZTCN5boost12graph_detail8list_tagE4_NS0_12sequence_tagE, i64 1, i64 0) to i8*)]
@_ZTSN5boost12graph_detail8list_tagE = linkonce_odr constant [32 x i8] c"N5boost12graph_detail8list_tagE\00"
@_ZTIN5boost12graph_detail8list_tagE = linkonce_odr unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([32 x i8]* @_ZTSN5boost12graph_detail8list_tagE, i32 0, i32 0), i32 2, i32 2, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail24reversible_container_tagE to i8*), i32 -5117, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail27back_insertion_sequence_tagE to i8*), i32 -6141 }
@_ZTCN5boost12graph_detail8list_tagE0_NS0_24reversible_container_tagE = linkonce_odr unnamed_addr constant [4 x i8*] [i8* null, i8* null, i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail24reversible_container_tagE to i8*)]
@_ZTCN5boost12graph_detail8list_tagE0_NS0_21forward_container_tagE = linkonce_odr unnamed_addr constant [3 x i8*] [i8* null, i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail21forward_container_tagE to i8*)]
@_ZTCN5boost12graph_detail8list_tagE4_NS0_27back_insertion_sequence_tagE = linkonce_odr unnamed_addr constant [8 x i8*] [i8* null, i8* inttoptr (i32 -4 to i8*), i8* inttoptr (i32 -4 to i8*), i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail27back_insertion_sequence_tagE to i8*), i8* null, i8* inttoptr (i32 4 to i8*), i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail27back_insertion_sequence_tagE to i8*)]
@_ZTCN5boost12graph_detail8list_tagE4_NS0_12sequence_tagE = linkonce_odr unnamed_addr constant [7 x i8*] [i8* inttoptr (i32 -4 to i8*), i8* inttoptr (i32 -4 to i8*), i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail12sequence_tagE to i8*), i8* null, i8* inttoptr (i32 4 to i8*), i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail12sequence_tagE to i8*)]
@.str17 = private unnamed_addr constant [23 x i8] c"vector::_M_fill_insert\00", align 1
@llvm.global_ctors = appending global [1 x { i32, void ()* }] [{ i32, void ()* } { i32 65535, void ()* @_GLOBAL__I_a }]

define internal void @__cxx_global_var_init() section ".text.startup" {
entry:
  call void @_ZNSt8ios_base4InitC1Ev(%"class.std::ios_base::Init"* @_ZStL8__ioinit)
  %0 = call i32 @__cxa_atexit(void (i8*)* bitcast (void (%"class.std::ios_base::Init"*)* @_ZNSt8ios_base4InitD1Ev to void (i8*)*), i8* getelementptr inbounds (%"class.std::ios_base::Init"* @_ZStL8__ioinit, i32 0, i32 0), i8* @__dso_handle) nounwind
  ret void
}

declare void @_ZNSt8ios_base4InitC1Ev(%"class.std::ios_base::Init"*)

declare void @_ZNSt8ios_base4InitD1Ev(%"class.std::ios_base::Init"*)

declare i32 @__cxa_atexit(void (i8*)*, i8*, i8*) nounwind

define internal void @__cxx_global_var_init1() section ".text.startup" {
entry:
  call void @_ZN5boost6detail35make_property_map_from_arg_pack_genINS_5graph8keywords3tag9color_mapENS_18default_color_typeEEC1ES6_(%"class.boost::detail::make_property_map_from_arg_pack_gen"* @_ZN5boost6detailL28make_color_map_from_arg_packE, i32 0)
  ret void
}

define linkonce_odr void @_ZN5boost6detail35make_property_map_from_arg_pack_genINS_5graph8keywords3tag9color_mapENS_18default_color_typeEEC1ES6_(%"class.boost::detail::make_property_map_from_arg_pack_gen"* %this, i32 %default_value) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::make_property_map_from_arg_pack_gen"*, align 4
  %default_value.addr = alloca i32, align 4
  store %"class.boost::detail::make_property_map_from_arg_pack_gen"* %this, %"class.boost::detail::make_property_map_from_arg_pack_gen"** %this.addr, align 4
  store i32 %default_value, i32* %default_value.addr, align 4
  %this1 = load %"class.boost::detail::make_property_map_from_arg_pack_gen"** %this.addr
  %0 = load i32* %default_value.addr, align 4
  call void @_ZN5boost6detail35make_property_map_from_arg_pack_genINS_5graph8keywords3tag9color_mapENS_18default_color_typeEEC2ES6_(%"class.boost::detail::make_property_map_from_arg_pack_gen"* %this1, i32 %0)
  ret void
}

define i32 @main() {
entry:
  %retval = alloca i32, align 4
  %num_nodes = alloca i32, align 4
  %edge_array = alloca [8 x %"struct.std::pair"], align 4
  %ref.tmp = alloca i32, align 4
  %ref.tmp1 = alloca i32, align 4
  %ref.tmp2 = alloca i32, align 4
  %ref.tmp3 = alloca i32, align 4
  %ref.tmp5 = alloca i32, align 4
  %ref.tmp6 = alloca i32, align 4
  %ref.tmp8 = alloca i32, align 4
  %ref.tmp9 = alloca i32, align 4
  %ref.tmp11 = alloca i32, align 4
  %ref.tmp12 = alloca i32, align 4
  %ref.tmp14 = alloca i32, align 4
  %ref.tmp15 = alloca i32, align 4
  %ref.tmp17 = alloca i32, align 4
  %ref.tmp18 = alloca i32, align 4
  %ref.tmp20 = alloca i32, align 4
  %ref.tmp21 = alloca i32, align 4
  %weights = alloca [8 x i32], align 4
  %num_edges = alloca i32, align 4
  %g = alloca %"class.boost::adjacency_list", align 4
  %ref.tmp24 = alloca %"struct.boost::no_property", align 1
  %weight = alloca %"struct.boost::adj_list_edge_property_map", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %spanning_tree = alloca %"class.std::vector.3", align 4
  %agg.tmp = alloca %"class.std::back_insert_iterator", align 4
  %ei = alloca %"class.__gnu_cxx::__normal_iterator", align 4
  %ref.tmp33 = alloca %"class.__gnu_cxx::__normal_iterator", align 4
  %agg.tmp53 = alloca %"class.boost::detail::edge_desc_impl", align 4
  %fout = alloca %"class.std::basic_ofstream", align 4
  %eiter = alloca %"struct.boost::detail::undirected_edge_iter", align 4
  %eiter_end = alloca %"struct.boost::detail::undirected_edge_iter", align 4
  %tmp = alloca %"class.boost::tuples::tuple", align 4
  %ref.tmp83 = alloca %"struct.std::pair.10", align 4
  %ref.tmp91 = alloca %"class.boost::detail::edge_desc_impl", align 4
  %ref.tmp99 = alloca %"class.boost::detail::edge_desc_impl", align 4
  %ref.tmp105 = alloca %"class.__gnu_cxx::__normal_iterator", align 4
  %agg.tmp106 = alloca %"class.__gnu_cxx::__normal_iterator", align 4
  %agg.tmp108 = alloca %"class.__gnu_cxx::__normal_iterator", align 4
  %ref.tmp110 = alloca %"class.boost::detail::edge_desc_impl", align 4
  %ref.tmp113 = alloca %"class.__gnu_cxx::__normal_iterator", align 4
  %ref.tmp119 = alloca %"class.boost::detail::edge_desc_impl", align 4
  %ref.tmp129 = alloca %"class.boost::detail::edge_desc_impl", align 4
  %cleanup.dest.slot = alloca i32
  store i32 0, i32* %retval
  store i32 5, i32* %num_nodes, align 4
  %arrayinit.begin = getelementptr inbounds [8 x %"struct.std::pair"]* %edge_array, i32 0, i32 0
  store i32 0, i32* %ref.tmp, align 4
  store i32 2, i32* %ref.tmp1, align 4
  call void @_ZNSt4pairIiiEC1ERKiS2_(%"struct.std::pair"* %arrayinit.begin, i32* %ref.tmp, i32* %ref.tmp1)
  %arrayinit.element = getelementptr inbounds %"struct.std::pair"* %arrayinit.begin, i32 1
  store i32 1, i32* %ref.tmp2, align 4
  store i32 3, i32* %ref.tmp3, align 4
  call void @_ZNSt4pairIiiEC1ERKiS2_(%"struct.std::pair"* %arrayinit.element, i32* %ref.tmp2, i32* %ref.tmp3)
  %arrayinit.element4 = getelementptr inbounds %"struct.std::pair"* %arrayinit.element, i32 1
  store i32 1, i32* %ref.tmp5, align 4
  store i32 4, i32* %ref.tmp6, align 4
  call void @_ZNSt4pairIiiEC1ERKiS2_(%"struct.std::pair"* %arrayinit.element4, i32* %ref.tmp5, i32* %ref.tmp6)
  %arrayinit.element7 = getelementptr inbounds %"struct.std::pair"* %arrayinit.element4, i32 1
  store i32 2, i32* %ref.tmp8, align 4
  store i32 1, i32* %ref.tmp9, align 4
  call void @_ZNSt4pairIiiEC1ERKiS2_(%"struct.std::pair"* %arrayinit.element7, i32* %ref.tmp8, i32* %ref.tmp9)
  %arrayinit.element10 = getelementptr inbounds %"struct.std::pair"* %arrayinit.element7, i32 1
  store i32 2, i32* %ref.tmp11, align 4
  store i32 3, i32* %ref.tmp12, align 4
  call void @_ZNSt4pairIiiEC1ERKiS2_(%"struct.std::pair"* %arrayinit.element10, i32* %ref.tmp11, i32* %ref.tmp12)
  %arrayinit.element13 = getelementptr inbounds %"struct.std::pair"* %arrayinit.element10, i32 1
  store i32 3, i32* %ref.tmp14, align 4
  store i32 4, i32* %ref.tmp15, align 4
  call void @_ZNSt4pairIiiEC1ERKiS2_(%"struct.std::pair"* %arrayinit.element13, i32* %ref.tmp14, i32* %ref.tmp15)
  %arrayinit.element16 = getelementptr inbounds %"struct.std::pair"* %arrayinit.element13, i32 1
  store i32 4, i32* %ref.tmp17, align 4
  store i32 0, i32* %ref.tmp18, align 4
  call void @_ZNSt4pairIiiEC1ERKiS2_(%"struct.std::pair"* %arrayinit.element16, i32* %ref.tmp17, i32* %ref.tmp18)
  %arrayinit.element19 = getelementptr inbounds %"struct.std::pair"* %arrayinit.element16, i32 1
  store i32 4, i32* %ref.tmp20, align 4
  store i32 1, i32* %ref.tmp21, align 4
  call void @_ZNSt4pairIiiEC1ERKiS2_(%"struct.std::pair"* %arrayinit.element19, i32* %ref.tmp20, i32* %ref.tmp21)
  %0 = bitcast [8 x i32]* %weights to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* bitcast ([8 x i32]* @_ZZ4mainE7weights to i8*), i32 32, i32 4, i1 false)
  store i32 8, i32* %num_edges, align 4
  %arraydecay = getelementptr inbounds [8 x %"struct.std::pair"]* %edge_array, i32 0, i32 0
  %arraydecay22 = getelementptr inbounds [8 x %"struct.std::pair"]* %edge_array, i32 0, i32 0
  %1 = load i32* %num_edges, align 4
  %add.ptr = getelementptr inbounds %"struct.std::pair"* %arraydecay22, i32 %1
  %arraydecay23 = getelementptr inbounds [8 x i32]* %weights, i32 0, i32 0
  call void @_ZN5boost14adjacency_listINS_4vecSES1_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS3_EES3_NS_5listSEEC1IPSt4pairIiiEPiEET_SE_T0_jjRKS3_(%"class.boost::adjacency_list"* %g, %"struct.std::pair"* %arraydecay, %"struct.std::pair"* %add.ptr, i32* %arraydecay23, i32 5, i32 0, %"struct.boost::no_property"* %ref.tmp24)
  %2 = bitcast %"class.boost::adjacency_list"* %g to %"struct.boost::adj_list_helper"*
  invoke void @_ZN5boost3getINS_6detail12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS6_EES6_NS_5listSEEES4_S4_S5_S6_S9_S6_SA_E6configENS_23undirected_graph_helperISD_EES8_EENS_12property_mapINT_10graph_typeET1_E4typeESJ_RNS_15adj_list_helperISH_T0_EE(%"struct.boost::adj_list_edge_property_map"* sret %weight, i32 0, %"struct.boost::adj_list_helper"* %2)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  invoke void @_ZNSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EEC1Ev(%"class.std::vector.3"* %spanning_tree)
          to label %invoke.cont25 unwind label %lpad

invoke.cont25:                                    ; preds = %invoke.cont
  invoke void @_ZSt13back_inserterISt6vectorIN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESaIS5_EEESt20back_insert_iteratorIT_ERS9_(%"class.std::back_insert_iterator"* sret %agg.tmp, %"class.std::vector.3"* %spanning_tree)
          to label %invoke.cont27 unwind label %lpad26

invoke.cont27:                                    ; preds = %invoke.cont25
  invoke void @_ZN5boost29kruskal_minimum_spanning_treeINS_14adjacency_listINS_4vecSES2_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS4_EES4_NS_5listSEEESt20back_insert_iteratorISt6vectorINS_6detail14edge_desc_implINS_14undirected_tagEjEESaISF_EEEEEvRKT_T0_(%"class.boost::adjacency_list"* %g, %"class.std::back_insert_iterator"* byval align 4 %agg.tmp)
          to label %invoke.cont28 unwind label %lpad26

invoke.cont28:                                    ; preds = %invoke.cont27
  %call = invoke %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* @_ZSt4cout, i8* getelementptr inbounds ([28 x i8]* @.str, i32 0, i32 0))
          to label %invoke.cont29 unwind label %lpad26

invoke.cont29:                                    ; preds = %invoke.cont28
  %call31 = invoke %"class.std::basic_ostream"* @_ZNSolsEPFRSoS_E(%"class.std::basic_ostream"* %call, %"class.std::basic_ostream"* (%"class.std::basic_ostream"*)* @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %invoke.cont30 unwind label %lpad26

invoke.cont30:                                    ; preds = %invoke.cont29
  invoke void @_ZNSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE5beginEv(%"class.__gnu_cxx::__normal_iterator"* sret %ei, %"class.std::vector.3"* %spanning_tree)
          to label %invoke.cont32 unwind label %lpad26

invoke.cont32:                                    ; preds = %invoke.cont30
  br label %for.cond

for.cond:                                         ; preds = %invoke.cont62, %invoke.cont32
  invoke void @_ZNSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE3endEv(%"class.__gnu_cxx::__normal_iterator"* sret %ref.tmp33, %"class.std::vector.3"* %spanning_tree)
          to label %invoke.cont34 unwind label %lpad26

invoke.cont34:                                    ; preds = %for.cond
  %call36 = invoke zeroext i1 @_ZN9__gnu_cxxneIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEEbRKNS_17__normal_iteratorIT_T0_EESF_(%"class.__gnu_cxx::__normal_iterator"* %ei, %"class.__gnu_cxx::__normal_iterator"* %ref.tmp33)
          to label %invoke.cont35 unwind label %lpad26

invoke.cont35:                                    ; preds = %invoke.cont34
  br i1 %call36, label %for.body, label %for.end

for.body:                                         ; preds = %invoke.cont35
  %call38 = invoke %"class.boost::detail::edge_desc_impl"* @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEdeEv(%"class.__gnu_cxx::__normal_iterator"* %ei)
          to label %invoke.cont37 unwind label %lpad26

invoke.cont37:                                    ; preds = %for.body
  %3 = bitcast %"class.boost::detail::edge_desc_impl"* %call38 to %"struct.boost::detail::edge_base"*
  %call40 = invoke i32 @_ZN5boost6sourceINS_14undirected_tagEjNS_4vecSES2_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS4_EES4_NS_5listSEEET0_RKNS_6detail9edge_baseIT_S9_EERKNS_14adjacency_listIT1_T2_T3_T4_T5_T6_T7_EE(%"struct.boost::detail::edge_base"* %3, %"class.boost::adjacency_list"* %g)
          to label %invoke.cont39 unwind label %lpad26

invoke.cont39:                                    ; preds = %invoke.cont37
  %call42 = invoke %"class.std::basic_ostream"* @_ZNSolsEj(%"class.std::basic_ostream"* @_ZSt4cout, i32 %call40)
          to label %invoke.cont41 unwind label %lpad26

invoke.cont41:                                    ; preds = %invoke.cont39
  %call44 = invoke %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* %call42, i8* getelementptr inbounds ([7 x i8]* @.str2, i32 0, i32 0))
          to label %invoke.cont43 unwind label %lpad26

invoke.cont43:                                    ; preds = %invoke.cont41
  %call46 = invoke %"class.boost::detail::edge_desc_impl"* @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEdeEv(%"class.__gnu_cxx::__normal_iterator"* %ei)
          to label %invoke.cont45 unwind label %lpad26

invoke.cont45:                                    ; preds = %invoke.cont43
  %4 = bitcast %"class.boost::detail::edge_desc_impl"* %call46 to %"struct.boost::detail::edge_base"*
  %call48 = invoke i32 @_ZN5boost6targetINS_14undirected_tagEjNS_4vecSES2_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS4_EES4_NS_5listSEEET0_RKNS_6detail9edge_baseIT_S9_EERKNS_14adjacency_listIT1_T2_T3_T4_T5_T6_T7_EE(%"struct.boost::detail::edge_base"* %4, %"class.boost::adjacency_list"* %g)
          to label %invoke.cont47 unwind label %lpad26

invoke.cont47:                                    ; preds = %invoke.cont45
  %call50 = invoke %"class.std::basic_ostream"* @_ZNSolsEj(%"class.std::basic_ostream"* %call44, i32 %call48)
          to label %invoke.cont49 unwind label %lpad26

invoke.cont49:                                    ; preds = %invoke.cont47
  %call52 = invoke %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* %call50, i8* getelementptr inbounds ([17 x i8]* @.str3, i32 0, i32 0))
          to label %invoke.cont51 unwind label %lpad26

invoke.cont51:                                    ; preds = %invoke.cont49
  %call55 = invoke %"class.boost::detail::edge_desc_impl"* @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEdeEv(%"class.__gnu_cxx::__normal_iterator"* %ei)
          to label %invoke.cont54 unwind label %lpad26

invoke.cont54:                                    ; preds = %invoke.cont51
  %5 = bitcast %"class.boost::detail::edge_desc_impl"* %agg.tmp53 to i8*
  %6 = bitcast %"class.boost::detail::edge_desc_impl"* %call55 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %5, i8* %6, i32 12, i32 4, i1 false)
  %call57 = invoke i32* @_ZNK5boost26adj_list_edge_property_mapINS_14undirected_tagEiRijNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEES4_EixENS_6detail14edge_desc_implIS1_jEE(%"struct.boost::adj_list_edge_property_map"* %weight, %"class.boost::detail::edge_desc_impl"* byval align 4 %agg.tmp53)
          to label %invoke.cont56 unwind label %lpad26

invoke.cont56:                                    ; preds = %invoke.cont54
  %7 = load i32* %call57
  %call59 = invoke %"class.std::basic_ostream"* @_ZNSolsEi(%"class.std::basic_ostream"* %call52, i32 %7)
          to label %invoke.cont58 unwind label %lpad26

invoke.cont58:                                    ; preds = %invoke.cont56
  %call61 = invoke %"class.std::basic_ostream"* @_ZNSolsEPFRSoS_E(%"class.std::basic_ostream"* %call59, %"class.std::basic_ostream"* (%"class.std::basic_ostream"*)* @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %invoke.cont60 unwind label %lpad26

invoke.cont60:                                    ; preds = %invoke.cont58
  br label %for.inc

for.inc:                                          ; preds = %invoke.cont60
  %call63 = invoke %"class.__gnu_cxx::__normal_iterator"* @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEppEv(%"class.__gnu_cxx::__normal_iterator"* %ei)
          to label %invoke.cont62 unwind label %lpad26

invoke.cont62:                                    ; preds = %for.inc
  br label %for.cond

lpad:                                             ; preds = %invoke.cont143, %invoke.cont, %entry
  %8 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %9 = extractvalue { i8*, i32 } %8, 0
  store i8* %9, i8** %exn.slot
  %10 = extractvalue { i8*, i32 } %8, 1
  store i32 %10, i32* %ehselector.slot
  br label %ehcleanup147

lpad26:                                           ; preds = %invoke.cont141, %invoke.cont64, %for.end, %for.inc, %invoke.cont58, %invoke.cont56, %invoke.cont54, %invoke.cont51, %invoke.cont49, %invoke.cont47, %invoke.cont45, %invoke.cont43, %invoke.cont41, %invoke.cont39, %invoke.cont37, %for.body, %invoke.cont34, %for.cond, %invoke.cont30, %invoke.cont29, %invoke.cont28, %invoke.cont27, %invoke.cont25
  %11 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %12 = extractvalue { i8*, i32 } %11, 0
  store i8* %12, i8** %exn.slot
  %13 = extractvalue { i8*, i32 } %11, 1
  store i32 %13, i32* %ehselector.slot
  br label %ehcleanup

for.end:                                          ; preds = %invoke.cont35
  %call65 = invoke i32 @_ZStorSt13_Ios_OpenmodeS_(i32 16, i32 32)
          to label %invoke.cont64 unwind label %lpad26

invoke.cont64:                                    ; preds = %for.end
  invoke void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode(%"class.std::basic_ofstream"* %fout, i8* getelementptr inbounds ([20 x i8]* @.str4, i32 0, i32 0), i32 %call65)
          to label %invoke.cont66 unwind label %lpad26

invoke.cont66:                                    ; preds = %invoke.cont64
  %14 = bitcast %"class.std::basic_ofstream"* %fout to %"class.std::basic_ostream"*
  %call69 = invoke %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* %14, i8* getelementptr inbounds ([11 x i8]* @.str5, i32 0, i32 0))
          to label %invoke.cont68 unwind label %lpad67

invoke.cont68:                                    ; preds = %invoke.cont66
  %call71 = invoke %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* %call69, i8* getelementptr inbounds ([13 x i8]* @.str6, i32 0, i32 0))
          to label %invoke.cont70 unwind label %lpad67

invoke.cont70:                                    ; preds = %invoke.cont68
  %call73 = invoke %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* %call71, i8* getelementptr inbounds ([13 x i8]* @.str7, i32 0, i32 0))
          to label %invoke.cont72 unwind label %lpad67

invoke.cont72:                                    ; preds = %invoke.cont70
  %call75 = invoke %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* %call73, i8* getelementptr inbounds ([17 x i8]* @.str8, i32 0, i32 0))
          to label %invoke.cont74 unwind label %lpad67

invoke.cont74:                                    ; preds = %invoke.cont72
  %call77 = invoke %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* %call75, i8* getelementptr inbounds ([21 x i8]* @.str9, i32 0, i32 0))
          to label %invoke.cont76 unwind label %lpad67

invoke.cont76:                                    ; preds = %invoke.cont74
  %call79 = invoke %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* %call77, i8* getelementptr inbounds ([23 x i8]* @.str10, i32 0, i32 0))
          to label %invoke.cont78 unwind label %lpad67

invoke.cont78:                                    ; preds = %invoke.cont76
  invoke void @_ZN5boost6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS0_14edge_desc_implINS_14undirected_tagEjEEiEC1Ev(%"struct.boost::detail::undirected_edge_iter"* %eiter)
          to label %invoke.cont80 unwind label %lpad67

invoke.cont80:                                    ; preds = %invoke.cont78
  invoke void @_ZN5boost6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS0_14edge_desc_implINS_14undirected_tagEjEEiEC1Ev(%"struct.boost::detail::undirected_edge_iter"* %eiter_end)
          to label %invoke.cont81 unwind label %lpad67

invoke.cont81:                                    ; preds = %invoke.cont80
  invoke void @_ZN5boost6tuples3tieINS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS2_14edge_desc_implINS_14undirected_tagEjEEiEESF_EENS0_6detail10tie_mapperIT_T0_vvvvvvvvE4typeERSI_RSJ_(%"class.boost::tuples::tuple"* sret %tmp, %"struct.boost::detail::undirected_edge_iter"* %eiter, %"struct.boost::detail::undirected_edge_iter"* %eiter_end)
          to label %invoke.cont82 unwind label %lpad67

invoke.cont82:                                    ; preds = %invoke.cont81
  %15 = bitcast %"class.boost::adjacency_list"* %g to %"struct.boost::undirected_graph_helper"*
  invoke void @_ZN5boost5edgesINS_6detail12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS6_EES6_NS_5listSEEES4_S4_S5_S6_S9_S6_SA_E6configEEESt4pairINT_13edge_iteratorESG_ERKNS_23undirected_graph_helperISF_EE(%"struct.std::pair.10"* sret %ref.tmp83, %"struct.boost::undirected_graph_helper"* %15)
          to label %invoke.cont84 unwind label %lpad67

invoke.cont84:                                    ; preds = %invoke.cont82
  %call86 = invoke %"class.boost::tuples::tuple"* @_ZN5boost6tuples5tupleIRNS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS2_14edge_desc_implINS_14undirected_tagEjEEiEESG_NS0_9null_typeESH_SH_SH_SH_SH_SH_SH_EaSISF_SF_EERSI_RKSt4pairIT_T0_E(%"class.boost::tuples::tuple"* %tmp, %"struct.std::pair.10"* %ref.tmp83)
          to label %invoke.cont85 unwind label %lpad67

invoke.cont85:                                    ; preds = %invoke.cont84
  br label %for.cond87

for.cond87:                                       ; preds = %invoke.cont138, %invoke.cont85
  %16 = bitcast %"struct.boost::detail::undirected_edge_iter"* %eiter to %"class.boost::iterator_facade"*
  %17 = bitcast %"struct.boost::detail::undirected_edge_iter"* %eiter_end to %"class.boost::iterator_facade"*
  %call89 = invoke zeroext i1 @_ZN5boostneINS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS1_14edge_desc_implINS_14undirected_tagEjEEiEESD_NS_27bidirectional_traversal_tagESD_iSE_SD_SF_SD_iEENS1_23enable_if_interoperableIT_T4_NS_3mpl6apply2INS1_12always_bool2ESH_SI_E4typeEE4typeERKNS_15iterator_facadeISH_T0_T1_T2_T3_EERKNSQ_ISI_T5_T6_T7_T8_EE(%"class.boost::iterator_facade"* %16, %"class.boost::iterator_facade"* %17)
          to label %invoke.cont88 unwind label %lpad67

invoke.cont88:                                    ; preds = %for.cond87
  br i1 %call89, label %for.body90, label %for.end140

for.body90:                                       ; preds = %invoke.cont88
  %18 = bitcast %"class.std::basic_ofstream"* %fout to %"class.std::basic_ostream"*
  %19 = bitcast %"struct.boost::detail::undirected_edge_iter"* %eiter to %"class.boost::iterator_facade"*
  invoke void @_ZNK5boost15iterator_facadeINS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS1_14edge_desc_implINS_14undirected_tagEjEEiEESD_NS_27bidirectional_traversal_tagESD_iEdeEv(%"class.boost::detail::edge_desc_impl"* sret %ref.tmp91, %"class.boost::iterator_facade"* %19)
          to label %invoke.cont92 unwind label %lpad67

invoke.cont92:                                    ; preds = %for.body90
  %20 = bitcast %"class.boost::detail::edge_desc_impl"* %ref.tmp91 to %"struct.boost::detail::edge_base"*
  %call94 = invoke i32 @_ZN5boost6sourceINS_14undirected_tagEjNS_4vecSES2_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS4_EES4_NS_5listSEEET0_RKNS_6detail9edge_baseIT_S9_EERKNS_14adjacency_listIT1_T2_T3_T4_T5_T6_T7_EE(%"struct.boost::detail::edge_base"* %20, %"class.boost::adjacency_list"* %g)
          to label %invoke.cont93 unwind label %lpad67

invoke.cont93:                                    ; preds = %invoke.cont92
  %call96 = invoke %"class.std::basic_ostream"* @_ZNSolsEj(%"class.std::basic_ostream"* %18, i32 %call94)
          to label %invoke.cont95 unwind label %lpad67

invoke.cont95:                                    ; preds = %invoke.cont93
  %call98 = invoke %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* %call96, i8* getelementptr inbounds ([5 x i8]* @.str11, i32 0, i32 0))
          to label %invoke.cont97 unwind label %lpad67

invoke.cont97:                                    ; preds = %invoke.cont95
  %21 = bitcast %"struct.boost::detail::undirected_edge_iter"* %eiter to %"class.boost::iterator_facade"*
  invoke void @_ZNK5boost15iterator_facadeINS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS1_14edge_desc_implINS_14undirected_tagEjEEiEESD_NS_27bidirectional_traversal_tagESD_iEdeEv(%"class.boost::detail::edge_desc_impl"* sret %ref.tmp99, %"class.boost::iterator_facade"* %21)
          to label %invoke.cont100 unwind label %lpad67

invoke.cont100:                                   ; preds = %invoke.cont97
  %22 = bitcast %"class.boost::detail::edge_desc_impl"* %ref.tmp99 to %"struct.boost::detail::edge_base"*
  %call102 = invoke i32 @_ZN5boost6targetINS_14undirected_tagEjNS_4vecSES2_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS4_EES4_NS_5listSEEET0_RKNS_6detail9edge_baseIT_S9_EERKNS_14adjacency_listIT1_T2_T3_T4_T5_T6_T7_EE(%"struct.boost::detail::edge_base"* %22, %"class.boost::adjacency_list"* %g)
          to label %invoke.cont101 unwind label %lpad67

invoke.cont101:                                   ; preds = %invoke.cont100
  %call104 = invoke %"class.std::basic_ostream"* @_ZNSolsEj(%"class.std::basic_ostream"* %call98, i32 %call102)
          to label %invoke.cont103 unwind label %lpad67

invoke.cont103:                                   ; preds = %invoke.cont101
  invoke void @_ZNSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE5beginEv(%"class.__gnu_cxx::__normal_iterator"* sret %agg.tmp106, %"class.std::vector.3"* %spanning_tree)
          to label %invoke.cont107 unwind label %lpad67

invoke.cont107:                                   ; preds = %invoke.cont103
  invoke void @_ZNSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE3endEv(%"class.__gnu_cxx::__normal_iterator"* sret %agg.tmp108, %"class.std::vector.3"* %spanning_tree)
          to label %invoke.cont109 unwind label %lpad67

invoke.cont109:                                   ; preds = %invoke.cont107
  %23 = bitcast %"struct.boost::detail::undirected_edge_iter"* %eiter to %"class.boost::iterator_facade"*
  invoke void @_ZNK5boost15iterator_facadeINS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS1_14edge_desc_implINS_14undirected_tagEjEEiEESD_NS_27bidirectional_traversal_tagESD_iEdeEv(%"class.boost::detail::edge_desc_impl"* sret %ref.tmp110, %"class.boost::iterator_facade"* %23)
          to label %invoke.cont111 unwind label %lpad67

invoke.cont111:                                   ; preds = %invoke.cont109
  invoke void @_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS2_14undirected_tagEjEESt6vectorIS6_SaIS6_EEEES6_ET_SC_SC_RKT0_(%"class.__gnu_cxx::__normal_iterator"* sret %ref.tmp105, %"class.__gnu_cxx::__normal_iterator"* byval align 4 %agg.tmp106, %"class.__gnu_cxx::__normal_iterator"* byval align 4 %agg.tmp108, %"class.boost::detail::edge_desc_impl"* %ref.tmp110)
          to label %invoke.cont112 unwind label %lpad67

invoke.cont112:                                   ; preds = %invoke.cont111
  invoke void @_ZNSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE3endEv(%"class.__gnu_cxx::__normal_iterator"* sret %ref.tmp113, %"class.std::vector.3"* %spanning_tree)
          to label %invoke.cont114 unwind label %lpad67

invoke.cont114:                                   ; preds = %invoke.cont112
  %call116 = invoke zeroext i1 @_ZN9__gnu_cxxneIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEEbRKNS_17__normal_iteratorIT_T0_EESF_(%"class.__gnu_cxx::__normal_iterator"* %ref.tmp105, %"class.__gnu_cxx::__normal_iterator"* %ref.tmp113)
          to label %invoke.cont115 unwind label %lpad67

invoke.cont115:                                   ; preds = %invoke.cont114
  br i1 %call116, label %if.then, label %if.else

if.then:                                          ; preds = %invoke.cont115
  %24 = bitcast %"class.std::basic_ofstream"* %fout to %"class.std::basic_ostream"*
  %call118 = invoke %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* %24, i8* getelementptr inbounds ([24 x i8]* @.str12, i32 0, i32 0))
          to label %invoke.cont117 unwind label %lpad67

invoke.cont117:                                   ; preds = %if.then
  %25 = bitcast %"class.boost::adjacency_list"* %g to %"struct.boost::adj_list_helper"*
  %26 = bitcast %"struct.boost::detail::undirected_edge_iter"* %eiter to %"class.boost::iterator_facade"*
  invoke void @_ZNK5boost15iterator_facadeINS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS1_14edge_desc_implINS_14undirected_tagEjEEiEESD_NS_27bidirectional_traversal_tagESD_iEdeEv(%"class.boost::detail::edge_desc_impl"* sret %ref.tmp119, %"class.boost::iterator_facade"* %26)
          to label %invoke.cont120 unwind label %lpad67

invoke.cont120:                                   ; preds = %invoke.cont117
  %call122 = invoke i32* @_ZN5boost3getINS_6detail12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS6_EES6_NS_5listSEEES4_S4_S5_S6_S9_S6_SA_E6configENS_23undirected_graph_helperISD_EES8_NS1_14edge_desc_implINS_14undirected_tagEjEEEENS_15property_traitsINS_12property_mapINT_10graph_typeET1_E4typeEE9referenceESN_RNS_15adj_list_helperISL_T0_EERKT2_(i32 0, %"struct.boost::adj_list_helper"* %25, %"class.boost::detail::edge_desc_impl"* %ref.tmp119)
          to label %invoke.cont121 unwind label %lpad67

invoke.cont121:                                   ; preds = %invoke.cont120
  %27 = load i32* %call122
  %call124 = invoke %"class.std::basic_ostream"* @_ZNSolsEi(%"class.std::basic_ostream"* %call118, i32 %27)
          to label %invoke.cont123 unwind label %lpad67

invoke.cont123:                                   ; preds = %invoke.cont121
  %call126 = invoke %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* %call124, i8* getelementptr inbounds ([5 x i8]* @.str13, i32 0, i32 0))
          to label %invoke.cont125 unwind label %lpad67

invoke.cont125:                                   ; preds = %invoke.cont123
  br label %if.end

lpad67:                                           ; preds = %for.end140, %for.inc137, %invoke.cont133, %invoke.cont131, %invoke.cont130, %invoke.cont127, %if.else, %invoke.cont123, %invoke.cont121, %invoke.cont120, %invoke.cont117, %if.then, %invoke.cont114, %invoke.cont112, %invoke.cont111, %invoke.cont109, %invoke.cont107, %invoke.cont103, %invoke.cont101, %invoke.cont100, %invoke.cont97, %invoke.cont95, %invoke.cont93, %invoke.cont92, %for.body90, %for.cond87, %invoke.cont84, %invoke.cont82, %invoke.cont81, %invoke.cont80, %invoke.cont78, %invoke.cont76, %invoke.cont74, %invoke.cont72, %invoke.cont70, %invoke.cont68, %invoke.cont66
  %28 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %29 = extractvalue { i8*, i32 } %28, 0
  store i8* %29, i8** %exn.slot
  %30 = extractvalue { i8*, i32 } %28, 1
  store i32 %30, i32* %ehselector.slot
  invoke void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev(%"class.std::basic_ofstream"* %fout)
          to label %invoke.cont144 unwind label %terminate.lpad

if.else:                                          ; preds = %invoke.cont115
  %31 = bitcast %"class.std::basic_ofstream"* %fout to %"class.std::basic_ostream"*
  %call128 = invoke %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* %31, i8* getelementptr inbounds ([23 x i8]* @.str14, i32 0, i32 0))
          to label %invoke.cont127 unwind label %lpad67

invoke.cont127:                                   ; preds = %if.else
  %32 = bitcast %"class.boost::adjacency_list"* %g to %"struct.boost::adj_list_helper"*
  %33 = bitcast %"struct.boost::detail::undirected_edge_iter"* %eiter to %"class.boost::iterator_facade"*
  invoke void @_ZNK5boost15iterator_facadeINS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS1_14edge_desc_implINS_14undirected_tagEjEEiEESD_NS_27bidirectional_traversal_tagESD_iEdeEv(%"class.boost::detail::edge_desc_impl"* sret %ref.tmp129, %"class.boost::iterator_facade"* %33)
          to label %invoke.cont130 unwind label %lpad67

invoke.cont130:                                   ; preds = %invoke.cont127
  %call132 = invoke i32* @_ZN5boost3getINS_6detail12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS6_EES6_NS_5listSEEES4_S4_S5_S6_S9_S6_SA_E6configENS_23undirected_graph_helperISD_EES8_NS1_14edge_desc_implINS_14undirected_tagEjEEEENS_15property_traitsINS_12property_mapINT_10graph_typeET1_E4typeEE9referenceESN_RNS_15adj_list_helperISL_T0_EERKT2_(i32 0, %"struct.boost::adj_list_helper"* %32, %"class.boost::detail::edge_desc_impl"* %ref.tmp129)
          to label %invoke.cont131 unwind label %lpad67

invoke.cont131:                                   ; preds = %invoke.cont130
  %34 = load i32* %call132
  %call134 = invoke %"class.std::basic_ostream"* @_ZNSolsEi(%"class.std::basic_ostream"* %call128, i32 %34)
          to label %invoke.cont133 unwind label %lpad67

invoke.cont133:                                   ; preds = %invoke.cont131
  %call136 = invoke %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* %call134, i8* getelementptr inbounds ([5 x i8]* @.str13, i32 0, i32 0))
          to label %invoke.cont135 unwind label %lpad67

invoke.cont135:                                   ; preds = %invoke.cont133
  br label %if.end

if.end:                                           ; preds = %invoke.cont135, %invoke.cont125
  br label %for.inc137

for.inc137:                                       ; preds = %if.end
  %35 = bitcast %"struct.boost::detail::undirected_edge_iter"* %eiter to %"class.boost::iterator_facade"*
  %call139 = invoke %"struct.boost::detail::undirected_edge_iter"* @_ZN5boost15iterator_facadeINS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS1_14edge_desc_implINS_14undirected_tagEjEEiEESD_NS_27bidirectional_traversal_tagESD_iEppEv(%"class.boost::iterator_facade"* %35)
          to label %invoke.cont138 unwind label %lpad67

invoke.cont138:                                   ; preds = %for.inc137
  br label %for.cond87

for.end140:                                       ; preds = %invoke.cont88
  %36 = bitcast %"class.std::basic_ofstream"* %fout to %"class.std::basic_ostream"*
  %call142 = invoke %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* %36, i8* getelementptr inbounds ([3 x i8]* @.str15, i32 0, i32 0))
          to label %invoke.cont141 unwind label %lpad67

invoke.cont141:                                   ; preds = %for.end140
  store i32 0, i32* %retval
  store i32 1, i32* %cleanup.dest.slot
  invoke void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev(%"class.std::basic_ofstream"* %fout)
          to label %invoke.cont143 unwind label %lpad26

invoke.cont143:                                   ; preds = %invoke.cont141
  invoke void @_ZNSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EED1Ev(%"class.std::vector.3"* %spanning_tree)
          to label %invoke.cont145 unwind label %lpad

invoke.cont144:                                   ; preds = %lpad67
  br label %ehcleanup

invoke.cont145:                                   ; preds = %invoke.cont143
  call void @_ZN5boost14adjacency_listINS_4vecSES1_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS3_EES3_NS_5listSEED1Ev(%"class.boost::adjacency_list"* %g)
  %37 = load i32* %retval
  ret i32 %37

ehcleanup:                                        ; preds = %invoke.cont144, %lpad26
  invoke void @_ZNSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EED1Ev(%"class.std::vector.3"* %spanning_tree)
          to label %invoke.cont146 unwind label %terminate.lpad

invoke.cont146:                                   ; preds = %ehcleanup
  br label %ehcleanup147

ehcleanup147:                                     ; preds = %invoke.cont146, %lpad
  invoke void @_ZN5boost14adjacency_listINS_4vecSES1_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS3_EES3_NS_5listSEED1Ev(%"class.boost::adjacency_list"* %g)
          to label %invoke.cont148 unwind label %terminate.lpad

invoke.cont148:                                   ; preds = %ehcleanup147
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont148
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val149 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val149

terminate.lpad:                                   ; preds = %ehcleanup147, %ehcleanup, %lpad67
  %38 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZNSt4pairIiiEC1ERKiS2_(%"struct.std::pair"* %this, i32* %__a, i32* %__b) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::pair"*, align 4
  %__a.addr = alloca i32*, align 4
  %__b.addr = alloca i32*, align 4
  store %"struct.std::pair"* %this, %"struct.std::pair"** %this.addr, align 4
  store i32* %__a, i32** %__a.addr, align 4
  store i32* %__b, i32** %__b.addr, align 4
  %this1 = load %"struct.std::pair"** %this.addr
  %0 = load i32** %__a.addr
  %1 = load i32** %__b.addr
  call void @_ZNSt4pairIiiEC2ERKiS2_(%"struct.std::pair"* %this1, i32* %0, i32* %1)
  ret void
}

declare void @llvm.memcpy.p0i8.p0i8.i32(i8* nocapture, i8* nocapture, i32, i32, i1) nounwind

define linkonce_odr void @_ZN5boost14adjacency_listINS_4vecSES1_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS3_EES3_NS_5listSEEC1IPSt4pairIiiEPiEET_SE_T0_jjRKS3_(%"class.boost::adjacency_list"* %this, %"struct.std::pair"* %first, %"struct.std::pair"* %last, i32* %ep_iter, i32 %n, i32, %"struct.boost::no_property"* %p) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::adjacency_list"*, align 4
  %first.addr = alloca %"struct.std::pair"*, align 4
  %last.addr = alloca %"struct.std::pair"*, align 4
  %ep_iter.addr = alloca i32*, align 4
  %n.addr = alloca i32, align 4
  %.addr = alloca i32, align 4
  %p.addr = alloca %"struct.boost::no_property"*, align 4
  store %"class.boost::adjacency_list"* %this, %"class.boost::adjacency_list"** %this.addr, align 4
  store %"struct.std::pair"* %first, %"struct.std::pair"** %first.addr, align 4
  store %"struct.std::pair"* %last, %"struct.std::pair"** %last.addr, align 4
  store i32* %ep_iter, i32** %ep_iter.addr, align 4
  store i32 %n, i32* %n.addr, align 4
  store i32 %0, i32* %.addr, align 4
  store %"struct.boost::no_property"* %p, %"struct.boost::no_property"** %p.addr, align 4
  %this1 = load %"class.boost::adjacency_list"** %this.addr
  %1 = load %"struct.std::pair"** %first.addr, align 4
  %2 = load %"struct.std::pair"** %last.addr, align 4
  %3 = load i32** %ep_iter.addr, align 4
  %4 = load i32* %n.addr, align 4
  %5 = load i32* %.addr, align 4
  %6 = load %"struct.boost::no_property"** %p.addr
  call void @_ZN5boost14adjacency_listINS_4vecSES1_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS3_EES3_NS_5listSEEC2IPSt4pairIiiEPiEET_SE_T0_jjRKS3_(%"class.boost::adjacency_list"* %this1, %"struct.std::pair"* %1, %"struct.std::pair"* %2, i32* %3, i32 %4, i32 %5, %"struct.boost::no_property"* %6)
  ret void
}

define linkonce_odr void @_ZN5boost3getINS_6detail12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS6_EES6_NS_5listSEEES4_S4_S5_S6_S9_S6_SA_E6configENS_23undirected_graph_helperISD_EES8_EENS_12property_mapINT_10graph_typeET1_E4typeESJ_RNS_15adj_list_helperISH_T0_EE(%"struct.boost::adj_list_edge_property_map"* noalias sret %agg.result, i32 %p, %"struct.boost::adj_list_helper"* %g) inlinehint {
entry:
  %p.addr = alloca i32, align 4
  %g.addr = alloca %"struct.boost::adj_list_helper"*, align 4
  %agg.tmp = alloca %"struct.boost::edge_property_tag", align 1
  store i32 %p, i32* %p.addr, align 4
  store %"struct.boost::adj_list_helper"* %g, %"struct.boost::adj_list_helper"** %g.addr, align 4
  %0 = load %"struct.boost::adj_list_helper"** %g.addr, align 4
  %1 = load i32* %p.addr, align 4
  call void @_ZN5boost6detail12get_dispatchINS0_12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS6_EES6_NS_5listSEEES4_S4_S5_S6_S9_S6_SA_E6configENS_23undirected_graph_helperISD_EES8_EENS_12property_mapINT_10graph_typeET1_E4typeERNS_15adj_list_helperISH_T0_EESJ_NS_17edge_property_tagE(%"struct.boost::adj_list_edge_property_map"* sret %agg.result, %"struct.boost::adj_list_helper"* %0, i32 %1)
  ret void
}

declare i32 @__gxx_personality_v0(...)

define linkonce_odr void @_ZNSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EEC1Ev(%"class.std::vector.3"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::vector.3"*, align 4
  store %"class.std::vector.3"* %this, %"class.std::vector.3"** %this.addr, align 4
  %this1 = load %"class.std::vector.3"** %this.addr
  call void @_ZNSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EEC2Ev(%"class.std::vector.3"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost29kruskal_minimum_spanning_treeINS_14adjacency_listINS_4vecSES2_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS4_EES4_NS_5listSEEESt20back_insert_iteratorISt6vectorINS_6detail14edge_desc_implINS_14undirected_tagEjEESaISF_EEEEEvRKT_T0_(%"class.boost::adjacency_list"* %g, %"class.std::back_insert_iterator"* byval align 4 %spanning_tree_edges) inlinehint {
entry:
  %g.addr = alloca %"class.boost::adjacency_list"*, align 4
  %n = alloca i32, align 4
  %rank_map = alloca %"class.std::vector.16", align 4
  %ref.tmp = alloca i32, align 4
  %ref.tmp2 = alloca %"class.std::allocator.18", align 1
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %pred_map = alloca %"class.std::vector.16", align 4
  %ref.tmp3 = alloca i32, align 4
  %ref.tmp4 = alloca %"class.std::allocator.18", align 1
  %agg.tmp = alloca %"class.std::back_insert_iterator", align 4
  %agg.tmp7 = alloca %"class.boost::iterator_property_map", align 4
  %agg.tmp8 = alloca %"class.__gnu_cxx::__normal_iterator.22", align 4
  %agg.tmp11 = alloca %"struct.boost::vec_adj_list_vertex_id_map", align 1
  %agg.tmp16 = alloca %"class.boost::iterator_property_map", align 4
  %agg.tmp17 = alloca %"class.__gnu_cxx::__normal_iterator.22", align 4
  %agg.tmp19 = alloca %"struct.boost::vec_adj_list_vertex_id_map", align 1
  %agg.tmp24 = alloca %"struct.boost::adj_list_edge_property_map.24", align 4
  store %"class.boost::adjacency_list"* %g, %"class.boost::adjacency_list"** %g.addr, align 4
  %0 = load %"class.boost::adjacency_list"** %g.addr, align 4
  %1 = bitcast %"class.boost::adjacency_list"* %0 to %"struct.boost::adj_list_helper"*
  %call = call i32 @_ZN5boost12num_verticesINS_6detail12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS6_EES6_NS_5listSEEES4_S4_S5_S6_S9_S6_SA_E6configENS_23undirected_graph_helperISD_EEEENT_18vertices_size_typeERKNS_15adj_list_helperISG_T0_EE(%"struct.boost::adj_list_helper"* %1)
  %cmp = icmp eq i32 %call, 0
  br i1 %cmp, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  br label %return

if.end:                                           ; preds = %entry
  %2 = load %"class.boost::adjacency_list"** %g.addr, align 4
  %3 = bitcast %"class.boost::adjacency_list"* %2 to %"struct.boost::adj_list_helper"*
  %call1 = call i32 @_ZN5boost12num_verticesINS_6detail12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS6_EES6_NS_5listSEEES4_S4_S5_S6_S9_S6_SA_E6configENS_23undirected_graph_helperISD_EEEENT_18vertices_size_typeERKNS_15adj_list_helperISG_T0_EE(%"struct.boost::adj_list_helper"* %3)
  store i32 %call1, i32* %n, align 4
  %4 = load i32* %n, align 4
  store i32 0, i32* %ref.tmp, align 4
  call void @_ZNSaIjEC1Ev(%"class.std::allocator.18"* %ref.tmp2) nounwind
  invoke void @_ZNSt6vectorIjSaIjEEC1EjRKjRKS0_(%"class.std::vector.16"* %rank_map, i32 %4, i32* %ref.tmp, %"class.std::allocator.18"* %ref.tmp2)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %if.end
  call void @_ZNSaIjED1Ev(%"class.std::allocator.18"* %ref.tmp2) nounwind
  %5 = load i32* %n, align 4
  store i32 0, i32* %ref.tmp3, align 4
  call void @_ZNSaIjEC1Ev(%"class.std::allocator.18"* %ref.tmp4) nounwind
  invoke void @_ZNSt6vectorIjSaIjEEC1EjRKjRKS0_(%"class.std::vector.16"* %pred_map, i32 %5, i32* %ref.tmp3, %"class.std::allocator.18"* %ref.tmp4)
          to label %invoke.cont6 unwind label %lpad5

invoke.cont6:                                     ; preds = %invoke.cont
  call void @_ZNSaIjED1Ev(%"class.std::allocator.18"* %ref.tmp4) nounwind
  %6 = load %"class.boost::adjacency_list"** %g.addr, align 4
  %7 = bitcast %"class.std::back_insert_iterator"* %agg.tmp to i8*
  %8 = bitcast %"class.std::back_insert_iterator"* %spanning_tree_edges to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %7, i8* %8, i32 4, i32 4, i1 false)
  invoke void @_ZNSt6vectorIjSaIjEE5beginEv(%"class.__gnu_cxx::__normal_iterator.22"* sret %agg.tmp8, %"class.std::vector.16"* %rank_map)
          to label %invoke.cont10 unwind label %lpad9

invoke.cont10:                                    ; preds = %invoke.cont6
  %9 = load %"class.boost::adjacency_list"** %g.addr, align 4
  %10 = bitcast %"class.boost::adjacency_list"* %9 to %"struct.boost::adj_list_helper"*
  invoke void @_ZN5boost3getINS_6detail12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS6_EES6_NS_5listSEEES4_S4_S5_S6_S9_S6_SA_E6configENS_23undirected_graph_helperISD_EENS_14vertex_index_tEEENS_12property_mapINT_10graph_typeET1_E10const_typeESK_RKNS_15adj_list_helperISI_T0_EE(%"struct.boost::vec_adj_list_vertex_id_map"* sret %agg.tmp11, i32 0, %"struct.boost::adj_list_helper"* %10)
          to label %invoke.cont12 unwind label %lpad9

invoke.cont12:                                    ; preds = %invoke.cont10
  %call14 = invoke i32* @_ZNSt6vectorIjSaIjEEixEj(%"class.std::vector.16"* %rank_map, i32 0)
          to label %invoke.cont13 unwind label %lpad9

invoke.cont13:                                    ; preds = %invoke.cont12
  %11 = load i32* %call14
  invoke void @_ZN5boost26make_iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEEjNS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEEENS_21iterator_property_mapIT_T1_T0_RSE_EESC_SD_SE_(%"class.boost::iterator_property_map"* sret %agg.tmp7, %"class.__gnu_cxx::__normal_iterator.22"* byval align 4 %agg.tmp8, i32 %11)
          to label %invoke.cont15 unwind label %lpad9

invoke.cont15:                                    ; preds = %invoke.cont13
  invoke void @_ZNSt6vectorIjSaIjEE5beginEv(%"class.__gnu_cxx::__normal_iterator.22"* sret %agg.tmp17, %"class.std::vector.16"* %pred_map)
          to label %invoke.cont18 unwind label %lpad9

invoke.cont18:                                    ; preds = %invoke.cont15
  %12 = load %"class.boost::adjacency_list"** %g.addr, align 4
  %13 = bitcast %"class.boost::adjacency_list"* %12 to %"struct.boost::adj_list_helper"*
  invoke void @_ZN5boost3getINS_6detail12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS6_EES6_NS_5listSEEES4_S4_S5_S6_S9_S6_SA_E6configENS_23undirected_graph_helperISD_EENS_14vertex_index_tEEENS_12property_mapINT_10graph_typeET1_E10const_typeESK_RKNS_15adj_list_helperISI_T0_EE(%"struct.boost::vec_adj_list_vertex_id_map"* sret %agg.tmp19, i32 0, %"struct.boost::adj_list_helper"* %13)
          to label %invoke.cont20 unwind label %lpad9

invoke.cont20:                                    ; preds = %invoke.cont18
  %call22 = invoke i32* @_ZNSt6vectorIjSaIjEEixEj(%"class.std::vector.16"* %pred_map, i32 0)
          to label %invoke.cont21 unwind label %lpad9

invoke.cont21:                                    ; preds = %invoke.cont20
  %14 = load i32* %call22
  invoke void @_ZN5boost26make_iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEEjNS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEEENS_21iterator_property_mapIT_T1_T0_RSE_EESC_SD_SE_(%"class.boost::iterator_property_map"* sret %agg.tmp16, %"class.__gnu_cxx::__normal_iterator.22"* byval align 4 %agg.tmp17, i32 %14)
          to label %invoke.cont23 unwind label %lpad9

invoke.cont23:                                    ; preds = %invoke.cont21
  %15 = load %"class.boost::adjacency_list"** %g.addr, align 4
  %16 = bitcast %"class.boost::adjacency_list"* %15 to %"struct.boost::adj_list_helper"*
  invoke void @_ZN5boost3getINS_6detail12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS6_EES6_NS_5listSEEES4_S4_S5_S6_S9_S6_SA_E6configENS_23undirected_graph_helperISD_EES8_EENS_12property_mapINT_10graph_typeET1_E10const_typeESJ_RKNS_15adj_list_helperISH_T0_EE(%"struct.boost::adj_list_edge_property_map.24"* sret %agg.tmp24, i32 0, %"struct.boost::adj_list_helper"* %16)
          to label %invoke.cont25 unwind label %lpad9

invoke.cont25:                                    ; preds = %invoke.cont23
  invoke void @_ZN5boost6detail16kruskal_mst_implINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEESt20back_insert_iteratorISt6vectorINS0_14edge_desc_implINS_14undirected_tagEjEESaISF_EEENS_21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSC_IjSaIjEEEENS_26vec_adj_list_vertex_id_mapIS5_jEEjRjEEST_NS_26adj_list_edge_property_mapISE_iRKijKS8_S7_EEEEvRKT_T0_T1_T2_T3_(%"class.boost::adjacency_list"* %6, %"class.std::back_insert_iterator"* byval align 4 %agg.tmp, %"class.boost::iterator_property_map"* byval align 4 %agg.tmp7, %"class.boost::iterator_property_map"* byval align 4 %agg.tmp16, %"struct.boost::adj_list_edge_property_map.24"* byval align 4 %agg.tmp24)
          to label %invoke.cont26 unwind label %lpad9

invoke.cont26:                                    ; preds = %invoke.cont25
  invoke void @_ZNSt6vectorIjSaIjEED1Ev(%"class.std::vector.16"* %pred_map)
          to label %invoke.cont28 unwind label %lpad27

invoke.cont28:                                    ; preds = %invoke.cont26
  call void @_ZNSt6vectorIjSaIjEED1Ev(%"class.std::vector.16"* %rank_map)
  br label %return

return:                                           ; preds = %invoke.cont28, %if.then
  ret void

lpad:                                             ; preds = %if.end
  %17 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %18 = extractvalue { i8*, i32 } %17, 0
  store i8* %18, i8** %exn.slot
  %19 = extractvalue { i8*, i32 } %17, 1
  store i32 %19, i32* %ehselector.slot
  call void @_ZNSaIjED1Ev(%"class.std::allocator.18"* %ref.tmp2) nounwind
  br label %eh.resume

lpad5:                                            ; preds = %invoke.cont
  %20 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %21 = extractvalue { i8*, i32 } %20, 0
  store i8* %21, i8** %exn.slot
  %22 = extractvalue { i8*, i32 } %20, 1
  store i32 %22, i32* %ehselector.slot
  call void @_ZNSaIjED1Ev(%"class.std::allocator.18"* %ref.tmp4) nounwind
  br label %ehcleanup

lpad9:                                            ; preds = %invoke.cont25, %invoke.cont23, %invoke.cont21, %invoke.cont20, %invoke.cont18, %invoke.cont15, %invoke.cont13, %invoke.cont12, %invoke.cont10, %invoke.cont6
  %23 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %24 = extractvalue { i8*, i32 } %23, 0
  store i8* %24, i8** %exn.slot
  %25 = extractvalue { i8*, i32 } %23, 1
  store i32 %25, i32* %ehselector.slot
  invoke void @_ZNSt6vectorIjSaIjEED1Ev(%"class.std::vector.16"* %pred_map)
          to label %invoke.cont29 unwind label %terminate.lpad

lpad27:                                           ; preds = %invoke.cont26
  %26 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %27 = extractvalue { i8*, i32 } %26, 0
  store i8* %27, i8** %exn.slot
  %28 = extractvalue { i8*, i32 } %26, 1
  store i32 %28, i32* %ehselector.slot
  br label %ehcleanup

invoke.cont29:                                    ; preds = %lpad9
  br label %ehcleanup

ehcleanup:                                        ; preds = %invoke.cont29, %lpad27, %lpad5
  invoke void @_ZNSt6vectorIjSaIjEED1Ev(%"class.std::vector.16"* %rank_map)
          to label %invoke.cont30 unwind label %terminate.lpad

invoke.cont30:                                    ; preds = %ehcleanup
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont30, %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val31 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val31

terminate.lpad:                                   ; preds = %ehcleanup, %lpad9
  %29 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZSt13back_inserterISt6vectorIN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESaIS5_EEESt20back_insert_iteratorIT_ERS9_(%"class.std::back_insert_iterator"* noalias sret %agg.result, %"class.std::vector.3"* %__x) inlinehint {
entry:
  %__x.addr = alloca %"class.std::vector.3"*, align 4
  store %"class.std::vector.3"* %__x, %"class.std::vector.3"** %__x.addr, align 4
  %0 = load %"class.std::vector.3"** %__x.addr, align 4
  call void @_ZNSt20back_insert_iteratorISt6vectorIN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESaIS5_EEEC1ERS7_(%"class.std::back_insert_iterator"* %agg.result, %"class.std::vector.3"* %0)
  ret void
}

declare %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"*, i8*)

declare %"class.std::basic_ostream"* @_ZNSolsEPFRSoS_E(%"class.std::basic_ostream"*, %"class.std::basic_ostream"* (%"class.std::basic_ostream"*)*)

declare %"class.std::basic_ostream"* @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_(%"class.std::basic_ostream"*)

define linkonce_odr void @_ZNSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE5beginEv(%"class.__gnu_cxx::__normal_iterator"* noalias sret %agg.result, %"class.std::vector.3"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.3"*, align 4
  store %"class.std::vector.3"* %this, %"class.std::vector.3"** %this.addr, align 4
  %this1 = load %"class.std::vector.3"** %this.addr
  %0 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.4"* %0, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl, i32 0, i32 0
  call void @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEC1ERKS6_(%"class.__gnu_cxx::__normal_iterator"* %agg.result, %"class.boost::detail::edge_desc_impl"** %_M_start)
  ret void
}

define linkonce_odr zeroext i1 @_ZN9__gnu_cxxneIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEEbRKNS_17__normal_iteratorIT_T0_EESF_(%"class.__gnu_cxx::__normal_iterator"* %__lhs, %"class.__gnu_cxx::__normal_iterator"* %__rhs) nounwind inlinehint {
entry:
  %__lhs.addr = alloca %"class.__gnu_cxx::__normal_iterator"*, align 4
  %__rhs.addr = alloca %"class.__gnu_cxx::__normal_iterator"*, align 4
  store %"class.__gnu_cxx::__normal_iterator"* %__lhs, %"class.__gnu_cxx::__normal_iterator"** %__lhs.addr, align 4
  store %"class.__gnu_cxx::__normal_iterator"* %__rhs, %"class.__gnu_cxx::__normal_iterator"** %__rhs.addr, align 4
  %0 = load %"class.__gnu_cxx::__normal_iterator"** %__lhs.addr, align 4
  %call = call %"class.boost::detail::edge_desc_impl"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator"* %0)
  %1 = load %"class.boost::detail::edge_desc_impl"** %call
  %2 = load %"class.__gnu_cxx::__normal_iterator"** %__rhs.addr, align 4
  %call1 = call %"class.boost::detail::edge_desc_impl"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator"* %2)
  %3 = load %"class.boost::detail::edge_desc_impl"** %call1
  %cmp = icmp ne %"class.boost::detail::edge_desc_impl"* %1, %3
  ret i1 %cmp
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE3endEv(%"class.__gnu_cxx::__normal_iterator"* noalias sret %agg.result, %"class.std::vector.3"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.3"*, align 4
  store %"class.std::vector.3"* %this, %"class.std::vector.3"** %this.addr, align 4
  %this1 = load %"class.std::vector.3"** %this.addr
  %0 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.4"* %0, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl, i32 0, i32 1
  call void @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEC1ERKS6_(%"class.__gnu_cxx::__normal_iterator"* %agg.result, %"class.boost::detail::edge_desc_impl"** %_M_finish)
  ret void
}

declare %"class.std::basic_ostream"* @_ZNSolsEj(%"class.std::basic_ostream"*, i32)

define linkonce_odr i32 @_ZN5boost6sourceINS_14undirected_tagEjNS_4vecSES2_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS4_EES4_NS_5listSEEET0_RKNS_6detail9edge_baseIT_S9_EERKNS_14adjacency_listIT1_T2_T3_T4_T5_T6_T7_EE(%"struct.boost::detail::edge_base"* %e, %"class.boost::adjacency_list"*) nounwind inlinehint {
entry:
  %e.addr = alloca %"struct.boost::detail::edge_base"*, align 4
  %.addr = alloca %"class.boost::adjacency_list"*, align 4
  store %"struct.boost::detail::edge_base"* %e, %"struct.boost::detail::edge_base"** %e.addr, align 4
  store %"class.boost::adjacency_list"* %0, %"class.boost::adjacency_list"** %.addr, align 4
  %1 = load %"struct.boost::detail::edge_base"** %e.addr, align 4
  %m_source = getelementptr inbounds %"struct.boost::detail::edge_base"* %1, i32 0, i32 0
  %2 = load i32* %m_source, align 4
  ret i32 %2
}

define linkonce_odr %"class.boost::detail::edge_desc_impl"* @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEdeEv(%"class.__gnu_cxx::__normal_iterator"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator"*, align 4
  store %"class.__gnu_cxx::__normal_iterator"* %this, %"class.__gnu_cxx::__normal_iterator"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator"* %this1, i32 0, i32 0
  %0 = load %"class.boost::detail::edge_desc_impl"** %_M_current, align 4
  ret %"class.boost::detail::edge_desc_impl"* %0
}

define linkonce_odr i32 @_ZN5boost6targetINS_14undirected_tagEjNS_4vecSES2_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS4_EES4_NS_5listSEEET0_RKNS_6detail9edge_baseIT_S9_EERKNS_14adjacency_listIT1_T2_T3_T4_T5_T6_T7_EE(%"struct.boost::detail::edge_base"* %e, %"class.boost::adjacency_list"*) nounwind inlinehint {
entry:
  %e.addr = alloca %"struct.boost::detail::edge_base"*, align 4
  %.addr = alloca %"class.boost::adjacency_list"*, align 4
  store %"struct.boost::detail::edge_base"* %e, %"struct.boost::detail::edge_base"** %e.addr, align 4
  store %"class.boost::adjacency_list"* %0, %"class.boost::adjacency_list"** %.addr, align 4
  %1 = load %"struct.boost::detail::edge_base"** %e.addr, align 4
  %m_target = getelementptr inbounds %"struct.boost::detail::edge_base"* %1, i32 0, i32 1
  %2 = load i32* %m_target, align 4
  ret i32 %2
}

declare %"class.std::basic_ostream"* @_ZNSolsEi(%"class.std::basic_ostream"*, i32)

define linkonce_odr i32* @_ZNK5boost26adj_list_edge_property_mapINS_14undirected_tagEiRijNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEES4_EixENS_6detail14edge_desc_implIS1_jEE(%"struct.boost::adj_list_edge_property_map"* %this, %"class.boost::detail::edge_desc_impl"* byval align 4 %e) inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::adj_list_edge_property_map"*, align 4
  %p = alloca %"struct.boost::property"*, align 4
  store %"struct.boost::adj_list_edge_property_map"* %this, %"struct.boost::adj_list_edge_property_map"** %this.addr, align 4
  %this1 = load %"struct.boost::adj_list_edge_property_map"** %this.addr
  %call = call i8* @_ZN5boost6detail14edge_desc_implINS_14undirected_tagEjE12get_propertyEv(%"class.boost::detail::edge_desc_impl"* %e)
  %0 = bitcast i8* %call to %"struct.boost::property"*
  store %"struct.boost::property"* %0, %"struct.boost::property"** %p, align 4
  %1 = load %"struct.boost::property"** %p, align 4
  %tag = getelementptr inbounds %"struct.boost::adj_list_edge_property_map"* %this1, i32 0, i32 0
  %2 = load i32* %tag, align 4
  %call2 = call i32* @_ZN5boost18get_property_valueINS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEES2_EERNS_19lookup_one_propertyIT_T0_E4typeERS6_S7_(%"struct.boost::property"* %1, i32 %2)
  ret i32* %call2
}

define linkonce_odr %"class.__gnu_cxx::__normal_iterator"* @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEppEv(%"class.__gnu_cxx::__normal_iterator"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator"*, align 4
  store %"class.__gnu_cxx::__normal_iterator"* %this, %"class.__gnu_cxx::__normal_iterator"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator"* %this1, i32 0, i32 0
  %0 = load %"class.boost::detail::edge_desc_impl"** %_M_current, align 4
  %incdec.ptr = getelementptr inbounds %"class.boost::detail::edge_desc_impl"* %0, i32 1
  store %"class.boost::detail::edge_desc_impl"* %incdec.ptr, %"class.boost::detail::edge_desc_impl"** %_M_current, align 4
  ret %"class.__gnu_cxx::__normal_iterator"* %this1
}

declare void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode(%"class.std::basic_ofstream"*, i8*, i32)

define linkonce_odr i32 @_ZStorSt13_Ios_OpenmodeS_(i32 %__a, i32 %__b) nounwind inlinehint {
entry:
  %__a.addr = alloca i32, align 4
  %__b.addr = alloca i32, align 4
  store i32 %__a, i32* %__a.addr, align 4
  store i32 %__b, i32* %__b.addr, align 4
  %0 = load i32* %__a.addr, align 4
  %1 = load i32* %__b.addr, align 4
  %or = or i32 %0, %1
  ret i32 %or
}

define linkonce_odr void @_ZN5boost6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS0_14edge_desc_implINS_14undirected_tagEjEEiEC1Ev(%"struct.boost::detail::undirected_edge_iter"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::detail::undirected_edge_iter"*, align 4
  store %"struct.boost::detail::undirected_edge_iter"* %this, %"struct.boost::detail::undirected_edge_iter"** %this.addr, align 4
  %this1 = load %"struct.boost::detail::undirected_edge_iter"** %this.addr
  call void @_ZN5boost6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS0_14edge_desc_implINS_14undirected_tagEjEEiEC2Ev(%"struct.boost::detail::undirected_edge_iter"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost6tuples3tieINS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS2_14edge_desc_implINS_14undirected_tagEjEEiEESF_EENS0_6detail10tie_mapperIT_T0_vvvvvvvvE4typeERSI_RSJ_(%"class.boost::tuples::tuple"* noalias sret %agg.result, %"struct.boost::detail::undirected_edge_iter"* %t0, %"struct.boost::detail::undirected_edge_iter"* %t1) inlinehint {
entry:
  %t0.addr = alloca %"struct.boost::detail::undirected_edge_iter"*, align 4
  %t1.addr = alloca %"struct.boost::detail::undirected_edge_iter"*, align 4
  store %"struct.boost::detail::undirected_edge_iter"* %t0, %"struct.boost::detail::undirected_edge_iter"** %t0.addr, align 4
  store %"struct.boost::detail::undirected_edge_iter"* %t1, %"struct.boost::detail::undirected_edge_iter"** %t1.addr, align 4
  %0 = load %"struct.boost::detail::undirected_edge_iter"** %t0.addr, align 4
  %1 = load %"struct.boost::detail::undirected_edge_iter"** %t1.addr, align 4
  call void @_ZN5boost6tuples5tupleIRNS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS2_14edge_desc_implINS_14undirected_tagEjEEiEESG_NS0_9null_typeESH_SH_SH_SH_SH_SH_SH_EC1ESG_SG_(%"class.boost::tuples::tuple"* %agg.result, %"struct.boost::detail::undirected_edge_iter"* %0, %"struct.boost::detail::undirected_edge_iter"* %1)
  ret void
}

define linkonce_odr %"class.boost::tuples::tuple"* @_ZN5boost6tuples5tupleIRNS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS2_14edge_desc_implINS_14undirected_tagEjEEiEESG_NS0_9null_typeESH_SH_SH_SH_SH_SH_SH_EaSISF_SF_EERSI_RKSt4pairIT_T0_E(%"class.boost::tuples::tuple"* %this, %"struct.std::pair.10"* %k) nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::tuples::tuple"*, align 4
  %k.addr = alloca %"struct.std::pair.10"*, align 4
  store %"class.boost::tuples::tuple"* %this, %"class.boost::tuples::tuple"** %this.addr, align 4
  store %"struct.std::pair.10"* %k, %"struct.std::pair.10"** %k.addr, align 4
  %this1 = load %"class.boost::tuples::tuple"** %this.addr
  %0 = bitcast %"class.boost::tuples::tuple"* %this1 to %"struct.boost::tuples::cons"*
  %head = getelementptr inbounds %"struct.boost::tuples::cons"* %0, i32 0, i32 0
  %ref = load %"struct.boost::detail::undirected_edge_iter"** %head, align 4
  %1 = load %"struct.std::pair.10"** %k.addr, align 4
  %first = getelementptr inbounds %"struct.std::pair.10"* %1, i32 0, i32 0
  %2 = bitcast %"struct.boost::detail::undirected_edge_iter"* %ref to i8*
  %3 = bitcast %"struct.boost::detail::undirected_edge_iter"* %first to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %2, i8* %3, i32 4, i32 4, i1 false)
  %4 = bitcast %"class.boost::tuples::tuple"* %this1 to %"struct.boost::tuples::cons"*
  %tail = getelementptr inbounds %"struct.boost::tuples::cons"* %4, i32 0, i32 1
  %head2 = getelementptr inbounds %"struct.boost::tuples::cons.9"* %tail, i32 0, i32 0
  %ref3 = load %"struct.boost::detail::undirected_edge_iter"** %head2, align 4
  %5 = load %"struct.std::pair.10"** %k.addr, align 4
  %second = getelementptr inbounds %"struct.std::pair.10"* %5, i32 0, i32 1
  %6 = bitcast %"struct.boost::detail::undirected_edge_iter"* %ref3 to i8*
  %7 = bitcast %"struct.boost::detail::undirected_edge_iter"* %second to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %6, i8* %7, i32 4, i32 4, i1 false)
  ret %"class.boost::tuples::tuple"* %this1
}

define linkonce_odr void @_ZN5boost5edgesINS_6detail12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS6_EES6_NS_5listSEEES4_S4_S5_S6_S9_S6_SA_E6configEEESt4pairINT_13edge_iteratorESG_ERKNS_23undirected_graph_helperISF_EE(%"struct.std::pair.10"* noalias sret %agg.result, %"struct.boost::undirected_graph_helper"* %g_) inlinehint {
entry:
  %g_.addr = alloca %"struct.boost::undirected_graph_helper"*, align 4
  %cg = alloca %"class.boost::adjacency_list"*, align 4
  %g = alloca %"class.boost::adjacency_list"*, align 4
  %agg.tmp = alloca %"struct.boost::detail::undirected_edge_iter", align 4
  %agg.tmp1 = alloca %"struct.std::_List_iterator", align 4
  %agg.tmp2 = alloca %"struct.boost::detail::undirected_edge_iter", align 4
  %agg.tmp3 = alloca %"struct.std::_List_iterator", align 4
  store %"struct.boost::undirected_graph_helper"* %g_, %"struct.boost::undirected_graph_helper"** %g_.addr, align 4
  %0 = load %"struct.boost::undirected_graph_helper"** %g_.addr, align 4
  %1 = bitcast %"struct.boost::undirected_graph_helper"* %0 to %"class.boost::adjacency_list"*
  store %"class.boost::adjacency_list"* %1, %"class.boost::adjacency_list"** %cg, align 4
  %2 = load %"class.boost::adjacency_list"** %cg, align 4
  store %"class.boost::adjacency_list"* %2, %"class.boost::adjacency_list"** %g, align 4
  %3 = load %"class.boost::adjacency_list"** %g, align 4
  %4 = bitcast %"class.boost::adjacency_list"* %3 to %"class.boost::vec_adj_list_impl"*
  %m_edges = getelementptr inbounds %"class.boost::vec_adj_list_impl"* %4, i32 0, i32 0
  call void @_ZNSt4listIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EE5beginEv(%"struct.std::_List_iterator"* sret %agg.tmp1, %"class.std::list"* %m_edges)
  call void @_ZN5boost6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS0_14edge_desc_implINS_14undirected_tagEjEEiEC1ES9_(%"struct.boost::detail::undirected_edge_iter"* %agg.tmp, %"struct.std::_List_iterator"* byval align 4 %agg.tmp1)
  %5 = load %"class.boost::adjacency_list"** %g, align 4
  %6 = bitcast %"class.boost::adjacency_list"* %5 to %"class.boost::vec_adj_list_impl"*
  %m_edges4 = getelementptr inbounds %"class.boost::vec_adj_list_impl"* %6, i32 0, i32 0
  call void @_ZNSt4listIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EE3endEv(%"struct.std::_List_iterator"* sret %agg.tmp3, %"class.std::list"* %m_edges4)
  call void @_ZN5boost6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS0_14edge_desc_implINS_14undirected_tagEjEEiEC1ES9_(%"struct.boost::detail::undirected_edge_iter"* %agg.tmp2, %"struct.std::_List_iterator"* byval align 4 %agg.tmp3)
  call void @_ZSt9make_pairIN5boost6detail20undirected_edge_iterISt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEENS1_14edge_desc_implINS0_14undirected_tagEjEEiEESE_ESt4pairIT_T0_ESG_SH_(%"struct.std::pair.10"* sret %agg.result, %"struct.boost::detail::undirected_edge_iter"* byval align 4 %agg.tmp, %"struct.boost::detail::undirected_edge_iter"* byval align 4 %agg.tmp2)
  ret void
}

define linkonce_odr zeroext i1 @_ZN5boostneINS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS1_14edge_desc_implINS_14undirected_tagEjEEiEESD_NS_27bidirectional_traversal_tagESD_iSE_SD_SF_SD_iEENS1_23enable_if_interoperableIT_T4_NS_3mpl6apply2INS1_12always_bool2ESH_SI_E4typeEE4typeERKNS_15iterator_facadeISH_T0_T1_T2_T3_EERKNSQ_ISI_T5_T6_T7_T8_EE(%"class.boost::iterator_facade"* %lhs, %"class.boost::iterator_facade"* %rhs) inlinehint {
entry:
  %lhs.addr = alloca %"class.boost::iterator_facade"*, align 4
  %rhs.addr = alloca %"class.boost::iterator_facade"*, align 4
  %agg.tmp = alloca %"struct.mpl_::bool_", align 1
  %ref.tmp = alloca %"struct.boost::is_convertible", align 1
  store %"class.boost::iterator_facade"* %lhs, %"class.boost::iterator_facade"** %lhs.addr, align 4
  store %"class.boost::iterator_facade"* %rhs, %"class.boost::iterator_facade"** %rhs.addr, align 4
  %0 = load %"class.boost::iterator_facade"** %lhs.addr, align 4
  %1 = bitcast %"class.boost::iterator_facade"* %0 to %"struct.boost::detail::undirected_edge_iter"*
  %2 = load %"class.boost::iterator_facade"** %rhs.addr, align 4
  %3 = bitcast %"class.boost::iterator_facade"* %2 to %"struct.boost::detail::undirected_edge_iter"*
  %4 = bitcast %"struct.boost::is_convertible"* %ref.tmp to %"struct.mpl_::bool_"*
  %call = call zeroext i1 @_ZN5boost20iterator_core_access5equalINS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS2_14edge_desc_implINS_14undirected_tagEjEEiEESF_EEbRKT_RKT0_N4mpl_5bool_ILb1EEE(%"struct.boost::detail::undirected_edge_iter"* %1, %"struct.boost::detail::undirected_edge_iter"* %3)
  %lnot = xor i1 %call, true
  ret i1 %lnot
}

define linkonce_odr void @_ZNK5boost15iterator_facadeINS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS1_14edge_desc_implINS_14undirected_tagEjEEiEESD_NS_27bidirectional_traversal_tagESD_iEdeEv(%"class.boost::detail::edge_desc_impl"* noalias sret %agg.result, %"class.boost::iterator_facade"* %this) align 2 {
entry:
  %this.addr = alloca %"class.boost::iterator_facade"*, align 4
  store %"class.boost::iterator_facade"* %this, %"class.boost::iterator_facade"** %this.addr, align 4
  %this1 = load %"class.boost::iterator_facade"** %this.addr
  %call = call %"struct.boost::detail::undirected_edge_iter"* @_ZNK5boost15iterator_facadeINS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS1_14edge_desc_implINS_14undirected_tagEjEEiEESD_NS_27bidirectional_traversal_tagESD_iE7derivedEv(%"class.boost::iterator_facade"* %this1)
  call void @_ZN5boost20iterator_core_access11dereferenceINS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS2_14edge_desc_implINS_14undirected_tagEjEEiEEEENT_9referenceERKSG_(%"class.boost::detail::edge_desc_impl"* sret %agg.result, %"struct.boost::detail::undirected_edge_iter"* %call)
  ret void
}

define linkonce_odr void @_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS2_14undirected_tagEjEESt6vectorIS6_SaIS6_EEEES6_ET_SC_SC_RKT0_(%"class.__gnu_cxx::__normal_iterator"* noalias sret %agg.result, %"class.__gnu_cxx::__normal_iterator"* byval align 4 %__first, %"class.__gnu_cxx::__normal_iterator"* byval align 4 %__last, %"class.boost::detail::edge_desc_impl"* %__val) inlinehint {
entry:
  %__val.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator", align 4
  %agg.tmp1 = alloca %"class.__gnu_cxx::__normal_iterator", align 4
  %agg.tmp2 = alloca %"struct.std::random_access_iterator_tag", align 1
  store %"class.boost::detail::edge_desc_impl"* %__val, %"class.boost::detail::edge_desc_impl"** %__val.addr, align 4
  %0 = bitcast %"class.__gnu_cxx::__normal_iterator"* %agg.tmp to i8*
  %1 = bitcast %"class.__gnu_cxx::__normal_iterator"* %__first to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 4, i32 4, i1 false)
  %2 = bitcast %"class.__gnu_cxx::__normal_iterator"* %agg.tmp1 to i8*
  %3 = bitcast %"class.__gnu_cxx::__normal_iterator"* %__last to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %2, i8* %3, i32 4, i32 4, i1 false)
  %4 = load %"class.boost::detail::edge_desc_impl"** %__val.addr, align 4
  call void @_ZSt19__iterator_categoryIN9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS2_14undirected_tagEjEESt6vectorIS6_SaIS6_EEEEENSt15iterator_traitsIT_E17iterator_categoryERKSD_(%"struct.std::random_access_iterator_tag"* sret %agg.tmp2, %"class.__gnu_cxx::__normal_iterator"* %__first)
  call void @_ZSt6__findIN9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS2_14undirected_tagEjEESt6vectorIS6_SaIS6_EEEES6_ET_SC_SC_RKT0_St26random_access_iterator_tag(%"class.__gnu_cxx::__normal_iterator"* sret %agg.result, %"class.__gnu_cxx::__normal_iterator"* byval align 4 %agg.tmp, %"class.__gnu_cxx::__normal_iterator"* byval align 4 %agg.tmp1, %"class.boost::detail::edge_desc_impl"* %4)
  ret void
}

define linkonce_odr i32* @_ZN5boost3getINS_6detail12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS6_EES6_NS_5listSEEES4_S4_S5_S6_S9_S6_SA_E6configENS_23undirected_graph_helperISD_EES8_NS1_14edge_desc_implINS_14undirected_tagEjEEEENS_15property_traitsINS_12property_mapINT_10graph_typeET1_E4typeEE9referenceESN_RNS_15adj_list_helperISL_T0_EERKT2_(i32 %p, %"struct.boost::adj_list_helper"* %g, %"class.boost::detail::edge_desc_impl"* %key) inlinehint {
entry:
  %p.addr = alloca i32, align 4
  %g.addr = alloca %"struct.boost::adj_list_helper"*, align 4
  %key.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %ref.tmp = alloca %"struct.boost::adj_list_edge_property_map", align 4
  store i32 %p, i32* %p.addr, align 4
  store %"struct.boost::adj_list_helper"* %g, %"struct.boost::adj_list_helper"** %g.addr, align 4
  store %"class.boost::detail::edge_desc_impl"* %key, %"class.boost::detail::edge_desc_impl"** %key.addr, align 4
  %0 = load i32* %p.addr, align 4
  %1 = load %"struct.boost::adj_list_helper"** %g.addr, align 4
  call void @_ZN5boost3getINS_6detail12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS6_EES6_NS_5listSEEES4_S4_S5_S6_S9_S6_SA_E6configENS_23undirected_graph_helperISD_EES8_EENS_12property_mapINT_10graph_typeET1_E4typeESJ_RNS_15adj_list_helperISH_T0_EE(%"struct.boost::adj_list_edge_property_map"* sret %ref.tmp, i32 %0, %"struct.boost::adj_list_helper"* %1)
  %2 = bitcast %"struct.boost::adj_list_edge_property_map"* %ref.tmp to %"struct.boost::put_get_helper"*
  %3 = load %"class.boost::detail::edge_desc_impl"** %key.addr, align 4
  %call = call i32* @_ZN5boost3getINS_26adj_list_edge_property_mapINS_14undirected_tagEiRijNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEES5_EES3_NS_6detail14edge_desc_implIS2_jEEEET0_RKNS_14put_get_helperISC_T_EERKT1_(%"struct.boost::put_get_helper"* %2, %"class.boost::detail::edge_desc_impl"* %3)
  ret i32* %call
}

define linkonce_odr %"struct.boost::detail::undirected_edge_iter"* @_ZN5boost15iterator_facadeINS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS1_14edge_desc_implINS_14undirected_tagEjEEiEESD_NS_27bidirectional_traversal_tagESD_iEppEv(%"class.boost::iterator_facade"* %this) align 2 {
entry:
  %this.addr = alloca %"class.boost::iterator_facade"*, align 4
  store %"class.boost::iterator_facade"* %this, %"class.boost::iterator_facade"** %this.addr, align 4
  %this1 = load %"class.boost::iterator_facade"** %this.addr
  %call = call %"struct.boost::detail::undirected_edge_iter"* @_ZN5boost15iterator_facadeINS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS1_14edge_desc_implINS_14undirected_tagEjEEiEESD_NS_27bidirectional_traversal_tagESD_iE7derivedEv(%"class.boost::iterator_facade"* %this1)
  call void @_ZN5boost20iterator_core_access9incrementINS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS2_14edge_desc_implINS_14undirected_tagEjEEiEEEEvRT_(%"struct.boost::detail::undirected_edge_iter"* %call)
  %call2 = call %"struct.boost::detail::undirected_edge_iter"* @_ZN5boost15iterator_facadeINS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS1_14edge_desc_implINS_14undirected_tagEjEEiEESD_NS_27bidirectional_traversal_tagESD_iE7derivedEv(%"class.boost::iterator_facade"* %this1)
  ret %"struct.boost::detail::undirected_edge_iter"* %call2
}

declare void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev(%"class.std::basic_ofstream"*)

declare void @_ZSt9terminatev()

define linkonce_odr void @_ZNSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EED1Ev(%"class.std::vector.3"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::vector.3"*, align 4
  store %"class.std::vector.3"* %this, %"class.std::vector.3"** %this.addr, align 4
  %this1 = load %"class.std::vector.3"** %this.addr
  call void @_ZNSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EED2Ev(%"class.std::vector.3"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost14adjacency_listINS_4vecSES1_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS3_EES3_NS_5listSEED1Ev(%"class.boost::adjacency_list"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::adjacency_list"*, align 4
  store %"class.boost::adjacency_list"* %this, %"class.boost::adjacency_list"** %this.addr, align 4
  %this1 = load %"class.boost::adjacency_list"** %this.addr
  call void @_ZN5boost14adjacency_listINS_4vecSES1_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS3_EES3_NS_5listSEED2Ev(%"class.boost::adjacency_list"* %this1)
  ret void
}

define linkonce_odr i32* @_ZN5boost3getINS_26adj_list_edge_property_mapINS_14undirected_tagEiRijNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEES5_EES3_NS_6detail14edge_desc_implIS2_jEEEET0_RKNS_14put_get_helperISC_T_EERKT1_(%"struct.boost::put_get_helper"* %pa, %"class.boost::detail::edge_desc_impl"* %k) inlinehint {
entry:
  %pa.addr = alloca %"struct.boost::put_get_helper"*, align 4
  %k.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %v = alloca i32*, align 4
  %agg.tmp = alloca %"class.boost::detail::edge_desc_impl", align 4
  store %"struct.boost::put_get_helper"* %pa, %"struct.boost::put_get_helper"** %pa.addr, align 4
  store %"class.boost::detail::edge_desc_impl"* %k, %"class.boost::detail::edge_desc_impl"** %k.addr, align 4
  %0 = load %"struct.boost::put_get_helper"** %pa.addr, align 4
  %1 = bitcast %"struct.boost::put_get_helper"* %0 to %"struct.boost::adj_list_edge_property_map"*
  %2 = load %"class.boost::detail::edge_desc_impl"** %k.addr, align 4
  %3 = bitcast %"class.boost::detail::edge_desc_impl"* %agg.tmp to i8*
  %4 = bitcast %"class.boost::detail::edge_desc_impl"* %2 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* %4, i32 12, i32 4, i1 false)
  %call = call i32* @_ZNK5boost26adj_list_edge_property_mapINS_14undirected_tagEiRijNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEES4_EixENS_6detail14edge_desc_implIS1_jEE(%"struct.boost::adj_list_edge_property_map"* %1, %"class.boost::detail::edge_desc_impl"* byval align 4 %agg.tmp)
  store i32* %call, i32** %v, align 4
  %5 = load i32** %v, align 4
  ret i32* %5
}

define linkonce_odr void @_ZSt6__findIN9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS2_14undirected_tagEjEESt6vectorIS6_SaIS6_EEEES6_ET_SC_SC_RKT0_St26random_access_iterator_tag(%"class.__gnu_cxx::__normal_iterator"* noalias sret %agg.result, %"class.__gnu_cxx::__normal_iterator"* byval align 4 %__first, %"class.__gnu_cxx::__normal_iterator"* byval align 4 %__last, %"class.boost::detail::edge_desc_impl"* %__val) {
entry:
  %__val.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %0 = alloca %"struct.std::random_access_iterator_tag", align 1
  %__trip_count = alloca i32, align 4
  store %"class.boost::detail::edge_desc_impl"* %__val, %"class.boost::detail::edge_desc_impl"** %__val.addr, align 4
  %call = call i32 @_ZN9__gnu_cxxmiIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSD_SG_(%"class.__gnu_cxx::__normal_iterator"* %__last, %"class.__gnu_cxx::__normal_iterator"* %__first)
  %shr = ashr i32 %call, 2
  store i32 %shr, i32* %__trip_count, align 4
  br label %for.cond

for.cond:                                         ; preds = %for.inc, %entry
  %1 = load i32* %__trip_count, align 4
  %cmp = icmp sgt i32 %1, 0
  br i1 %cmp, label %for.body, label %for.end

for.body:                                         ; preds = %for.cond
  %call1 = call %"class.boost::detail::edge_desc_impl"* @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEdeEv(%"class.__gnu_cxx::__normal_iterator"* %__first)
  %2 = load %"class.boost::detail::edge_desc_impl"** %__val.addr, align 4
  %call2 = call zeroext i1 @_ZN5boost6detaileqINS_14undirected_tagEjEEbRKNS0_14edge_desc_implIT_T0_EES8_(%"class.boost::detail::edge_desc_impl"* %call1, %"class.boost::detail::edge_desc_impl"* %2)
  br i1 %call2, label %if.then, label %if.end

if.then:                                          ; preds = %for.body
  %3 = bitcast %"class.__gnu_cxx::__normal_iterator"* %agg.result to i8*
  %4 = bitcast %"class.__gnu_cxx::__normal_iterator"* %__first to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* %4, i32 4, i32 4, i1 false)
  br label %return

if.end:                                           ; preds = %for.body
  %call3 = call %"class.__gnu_cxx::__normal_iterator"* @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEppEv(%"class.__gnu_cxx::__normal_iterator"* %__first)
  %call4 = call %"class.boost::detail::edge_desc_impl"* @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEdeEv(%"class.__gnu_cxx::__normal_iterator"* %__first)
  %5 = load %"class.boost::detail::edge_desc_impl"** %__val.addr, align 4
  %call5 = call zeroext i1 @_ZN5boost6detaileqINS_14undirected_tagEjEEbRKNS0_14edge_desc_implIT_T0_EES8_(%"class.boost::detail::edge_desc_impl"* %call4, %"class.boost::detail::edge_desc_impl"* %5)
  br i1 %call5, label %if.then6, label %if.end7

if.then6:                                         ; preds = %if.end
  %6 = bitcast %"class.__gnu_cxx::__normal_iterator"* %agg.result to i8*
  %7 = bitcast %"class.__gnu_cxx::__normal_iterator"* %__first to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %6, i8* %7, i32 4, i32 4, i1 false)
  br label %return

if.end7:                                          ; preds = %if.end
  %call8 = call %"class.__gnu_cxx::__normal_iterator"* @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEppEv(%"class.__gnu_cxx::__normal_iterator"* %__first)
  %call9 = call %"class.boost::detail::edge_desc_impl"* @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEdeEv(%"class.__gnu_cxx::__normal_iterator"* %__first)
  %8 = load %"class.boost::detail::edge_desc_impl"** %__val.addr, align 4
  %call10 = call zeroext i1 @_ZN5boost6detaileqINS_14undirected_tagEjEEbRKNS0_14edge_desc_implIT_T0_EES8_(%"class.boost::detail::edge_desc_impl"* %call9, %"class.boost::detail::edge_desc_impl"* %8)
  br i1 %call10, label %if.then11, label %if.end12

if.then11:                                        ; preds = %if.end7
  %9 = bitcast %"class.__gnu_cxx::__normal_iterator"* %agg.result to i8*
  %10 = bitcast %"class.__gnu_cxx::__normal_iterator"* %__first to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %9, i8* %10, i32 4, i32 4, i1 false)
  br label %return

if.end12:                                         ; preds = %if.end7
  %call13 = call %"class.__gnu_cxx::__normal_iterator"* @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEppEv(%"class.__gnu_cxx::__normal_iterator"* %__first)
  %call14 = call %"class.boost::detail::edge_desc_impl"* @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEdeEv(%"class.__gnu_cxx::__normal_iterator"* %__first)
  %11 = load %"class.boost::detail::edge_desc_impl"** %__val.addr, align 4
  %call15 = call zeroext i1 @_ZN5boost6detaileqINS_14undirected_tagEjEEbRKNS0_14edge_desc_implIT_T0_EES8_(%"class.boost::detail::edge_desc_impl"* %call14, %"class.boost::detail::edge_desc_impl"* %11)
  br i1 %call15, label %if.then16, label %if.end17

if.then16:                                        ; preds = %if.end12
  %12 = bitcast %"class.__gnu_cxx::__normal_iterator"* %agg.result to i8*
  %13 = bitcast %"class.__gnu_cxx::__normal_iterator"* %__first to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %12, i8* %13, i32 4, i32 4, i1 false)
  br label %return

if.end17:                                         ; preds = %if.end12
  %call18 = call %"class.__gnu_cxx::__normal_iterator"* @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEppEv(%"class.__gnu_cxx::__normal_iterator"* %__first)
  br label %for.inc

for.inc:                                          ; preds = %if.end17
  %14 = load i32* %__trip_count, align 4
  %dec = add nsw i32 %14, -1
  store i32 %dec, i32* %__trip_count, align 4
  br label %for.cond

for.end:                                          ; preds = %for.cond
  %call19 = call i32 @_ZN9__gnu_cxxmiIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSD_SG_(%"class.__gnu_cxx::__normal_iterator"* %__last, %"class.__gnu_cxx::__normal_iterator"* %__first)
  switch i32 %call19, label %sw.default [
    i32 3, label %sw.bb
    i32 2, label %sw.bb25
    i32 1, label %sw.bb31
    i32 0, label %sw.bb37
  ]

sw.bb:                                            ; preds = %for.end
  %call20 = call %"class.boost::detail::edge_desc_impl"* @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEdeEv(%"class.__gnu_cxx::__normal_iterator"* %__first)
  %15 = load %"class.boost::detail::edge_desc_impl"** %__val.addr, align 4
  %call21 = call zeroext i1 @_ZN5boost6detaileqINS_14undirected_tagEjEEbRKNS0_14edge_desc_implIT_T0_EES8_(%"class.boost::detail::edge_desc_impl"* %call20, %"class.boost::detail::edge_desc_impl"* %15)
  br i1 %call21, label %if.then22, label %if.end23

if.then22:                                        ; preds = %sw.bb
  %16 = bitcast %"class.__gnu_cxx::__normal_iterator"* %agg.result to i8*
  %17 = bitcast %"class.__gnu_cxx::__normal_iterator"* %__first to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %16, i8* %17, i32 4, i32 4, i1 false)
  br label %return

if.end23:                                         ; preds = %sw.bb
  %call24 = call %"class.__gnu_cxx::__normal_iterator"* @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEppEv(%"class.__gnu_cxx::__normal_iterator"* %__first)
  br label %sw.bb25

sw.bb25:                                          ; preds = %for.end, %if.end23
  %call26 = call %"class.boost::detail::edge_desc_impl"* @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEdeEv(%"class.__gnu_cxx::__normal_iterator"* %__first)
  %18 = load %"class.boost::detail::edge_desc_impl"** %__val.addr, align 4
  %call27 = call zeroext i1 @_ZN5boost6detaileqINS_14undirected_tagEjEEbRKNS0_14edge_desc_implIT_T0_EES8_(%"class.boost::detail::edge_desc_impl"* %call26, %"class.boost::detail::edge_desc_impl"* %18)
  br i1 %call27, label %if.then28, label %if.end29

if.then28:                                        ; preds = %sw.bb25
  %19 = bitcast %"class.__gnu_cxx::__normal_iterator"* %agg.result to i8*
  %20 = bitcast %"class.__gnu_cxx::__normal_iterator"* %__first to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %19, i8* %20, i32 4, i32 4, i1 false)
  br label %return

if.end29:                                         ; preds = %sw.bb25
  %call30 = call %"class.__gnu_cxx::__normal_iterator"* @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEppEv(%"class.__gnu_cxx::__normal_iterator"* %__first)
  br label %sw.bb31

sw.bb31:                                          ; preds = %for.end, %if.end29
  %call32 = call %"class.boost::detail::edge_desc_impl"* @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEdeEv(%"class.__gnu_cxx::__normal_iterator"* %__first)
  %21 = load %"class.boost::detail::edge_desc_impl"** %__val.addr, align 4
  %call33 = call zeroext i1 @_ZN5boost6detaileqINS_14undirected_tagEjEEbRKNS0_14edge_desc_implIT_T0_EES8_(%"class.boost::detail::edge_desc_impl"* %call32, %"class.boost::detail::edge_desc_impl"* %21)
  br i1 %call33, label %if.then34, label %if.end35

if.then34:                                        ; preds = %sw.bb31
  %22 = bitcast %"class.__gnu_cxx::__normal_iterator"* %agg.result to i8*
  %23 = bitcast %"class.__gnu_cxx::__normal_iterator"* %__first to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %22, i8* %23, i32 4, i32 4, i1 false)
  br label %return

if.end35:                                         ; preds = %sw.bb31
  %call36 = call %"class.__gnu_cxx::__normal_iterator"* @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEppEv(%"class.__gnu_cxx::__normal_iterator"* %__first)
  br label %sw.bb37

sw.bb37:                                          ; preds = %for.end, %if.end35
  br label %sw.default

sw.default:                                       ; preds = %for.end, %sw.bb37
  %24 = bitcast %"class.__gnu_cxx::__normal_iterator"* %agg.result to i8*
  %25 = bitcast %"class.__gnu_cxx::__normal_iterator"* %__last to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %24, i8* %25, i32 4, i32 4, i1 false)
  br label %return

return:                                           ; preds = %sw.default, %if.then34, %if.then28, %if.then22, %if.then16, %if.then11, %if.then6, %if.then
  ret void
}

define linkonce_odr void @_ZSt19__iterator_categoryIN9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS2_14undirected_tagEjEESt6vectorIS6_SaIS6_EEEEENSt15iterator_traitsIT_E17iterator_categoryERKSD_(%"struct.std::random_access_iterator_tag"* noalias sret %agg.result, %"class.__gnu_cxx::__normal_iterator"*) nounwind inlinehint {
entry:
  %.addr = alloca %"class.__gnu_cxx::__normal_iterator"*, align 4
  store %"class.__gnu_cxx::__normal_iterator"* %0, %"class.__gnu_cxx::__normal_iterator"** %.addr, align 4
  ret void
}

define linkonce_odr i32 @_ZN9__gnu_cxxmiIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSD_SG_(%"class.__gnu_cxx::__normal_iterator"* %__lhs, %"class.__gnu_cxx::__normal_iterator"* %__rhs) inlinehint {
entry:
  %__lhs.addr = alloca %"class.__gnu_cxx::__normal_iterator"*, align 4
  %__rhs.addr = alloca %"class.__gnu_cxx::__normal_iterator"*, align 4
  store %"class.__gnu_cxx::__normal_iterator"* %__lhs, %"class.__gnu_cxx::__normal_iterator"** %__lhs.addr, align 4
  store %"class.__gnu_cxx::__normal_iterator"* %__rhs, %"class.__gnu_cxx::__normal_iterator"** %__rhs.addr, align 4
  %0 = load %"class.__gnu_cxx::__normal_iterator"** %__lhs.addr, align 4
  %call = call %"class.boost::detail::edge_desc_impl"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator"* %0)
  %1 = load %"class.boost::detail::edge_desc_impl"** %call
  %2 = load %"class.__gnu_cxx::__normal_iterator"** %__rhs.addr, align 4
  %call1 = call %"class.boost::detail::edge_desc_impl"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator"* %2)
  %3 = load %"class.boost::detail::edge_desc_impl"** %call1
  %sub.ptr.lhs.cast = ptrtoint %"class.boost::detail::edge_desc_impl"* %1 to i32
  %sub.ptr.rhs.cast = ptrtoint %"class.boost::detail::edge_desc_impl"* %3 to i32
  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  %sub.ptr.div = sdiv exact i32 %sub.ptr.sub, 12
  ret i32 %sub.ptr.div
}

define linkonce_odr zeroext i1 @_ZN5boost6detaileqINS_14undirected_tagEjEEbRKNS0_14edge_desc_implIT_T0_EES8_(%"class.boost::detail::edge_desc_impl"* %a, %"class.boost::detail::edge_desc_impl"* %b) inlinehint {
entry:
  %a.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %b.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  store %"class.boost::detail::edge_desc_impl"* %a, %"class.boost::detail::edge_desc_impl"** %a.addr, align 4
  store %"class.boost::detail::edge_desc_impl"* %b, %"class.boost::detail::edge_desc_impl"** %b.addr, align 4
  %0 = load %"class.boost::detail::edge_desc_impl"** %a.addr, align 4
  %call = call i8* @_ZNK5boost6detail14edge_desc_implINS_14undirected_tagEjE12get_propertyEv(%"class.boost::detail::edge_desc_impl"* %0)
  %1 = load %"class.boost::detail::edge_desc_impl"** %b.addr, align 4
  %call1 = call i8* @_ZNK5boost6detail14edge_desc_implINS_14undirected_tagEjE12get_propertyEv(%"class.boost::detail::edge_desc_impl"* %1)
  %cmp = icmp eq i8* %call, %call1
  ret i1 %cmp
}

define linkonce_odr i8* @_ZNK5boost6detail14edge_desc_implINS_14undirected_tagEjE12get_propertyEv(%"class.boost::detail::edge_desc_impl"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  store %"class.boost::detail::edge_desc_impl"* %this, %"class.boost::detail::edge_desc_impl"** %this.addr, align 4
  %this1 = load %"class.boost::detail::edge_desc_impl"** %this.addr
  %m_eproperty = getelementptr inbounds %"class.boost::detail::edge_desc_impl"* %this1, i32 0, i32 1
  %0 = load i8** %m_eproperty, align 4
  ret i8* %0
}

define linkonce_odr %"class.boost::detail::edge_desc_impl"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator"*, align 4
  store %"class.__gnu_cxx::__normal_iterator"* %this, %"class.__gnu_cxx::__normal_iterator"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator"* %this1, i32 0, i32 0
  ret %"class.boost::detail::edge_desc_impl"** %_M_current
}

define linkonce_odr void @_ZN5boost20iterator_core_access11dereferenceINS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS2_14edge_desc_implINS_14undirected_tagEjEEiEEEENT_9referenceERKSG_(%"class.boost::detail::edge_desc_impl"* noalias sret %agg.result, %"struct.boost::detail::undirected_edge_iter"* %f) align 2 {
entry:
  %f.addr = alloca %"struct.boost::detail::undirected_edge_iter"*, align 4
  store %"struct.boost::detail::undirected_edge_iter"* %f, %"struct.boost::detail::undirected_edge_iter"** %f.addr, align 4
  %0 = load %"struct.boost::detail::undirected_edge_iter"** %f.addr, align 4
  call void @_ZNK5boost6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS0_14edge_desc_implINS_14undirected_tagEjEEiE11dereferenceEv(%"class.boost::detail::edge_desc_impl"* sret %agg.result, %"struct.boost::detail::undirected_edge_iter"* %0)
  ret void
}

define linkonce_odr %"struct.boost::detail::undirected_edge_iter"* @_ZNK5boost15iterator_facadeINS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS1_14edge_desc_implINS_14undirected_tagEjEEiEESD_NS_27bidirectional_traversal_tagESD_iE7derivedEv(%"class.boost::iterator_facade"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::iterator_facade"*, align 4
  store %"class.boost::iterator_facade"* %this, %"class.boost::iterator_facade"** %this.addr, align 4
  %this1 = load %"class.boost::iterator_facade"** %this.addr
  %0 = bitcast %"class.boost::iterator_facade"* %this1 to %"struct.boost::detail::undirected_edge_iter"*
  ret %"struct.boost::detail::undirected_edge_iter"* %0
}

define linkonce_odr void @_ZNK5boost6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS0_14edge_desc_implINS_14undirected_tagEjEEiE11dereferenceEv(%"class.boost::detail::edge_desc_impl"* noalias sret %agg.result, %"struct.boost::detail::undirected_edge_iter"* %this) inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::detail::undirected_edge_iter"*, align 4
  store %"struct.boost::detail::undirected_edge_iter"* %this, %"struct.boost::detail::undirected_edge_iter"** %this.addr, align 4
  %this1 = load %"struct.boost::detail::undirected_edge_iter"** %this.addr
  %0 = bitcast %"struct.boost::detail::undirected_edge_iter"* %this1 to %"class.boost::iterator_adaptor"*
  %call = call %"struct.std::_List_iterator"* @_ZNK5boost16iterator_adaptorINS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS1_14edge_desc_implINS_14undirected_tagEjEEiEESA_SD_NS_11use_defaultESD_iE4baseEv(%"class.boost::iterator_adaptor"* %0)
  %call2 = call %"struct.boost::list_edge"* @_ZNKSt14_List_iteratorIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEEdeEv(%"struct.std::_List_iterator"* %call)
  %1 = bitcast %"struct.boost::list_edge"* %call2 to %"struct.boost::detail::edge_base"*
  %m_source = getelementptr inbounds %"struct.boost::detail::edge_base"* %1, i32 0, i32 0
  %2 = load i32* %m_source, align 4
  %3 = bitcast %"struct.boost::detail::undirected_edge_iter"* %this1 to %"class.boost::iterator_adaptor"*
  %call3 = call %"struct.std::_List_iterator"* @_ZNK5boost16iterator_adaptorINS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS1_14edge_desc_implINS_14undirected_tagEjEEiEESA_SD_NS_11use_defaultESD_iE4baseEv(%"class.boost::iterator_adaptor"* %3)
  %call4 = call %"struct.boost::list_edge"* @_ZNKSt14_List_iteratorIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEEdeEv(%"struct.std::_List_iterator"* %call3)
  %4 = bitcast %"struct.boost::list_edge"* %call4 to %"struct.boost::detail::edge_base"*
  %m_target = getelementptr inbounds %"struct.boost::detail::edge_base"* %4, i32 0, i32 1
  %5 = load i32* %m_target, align 4
  %6 = bitcast %"struct.boost::detail::undirected_edge_iter"* %this1 to %"class.boost::iterator_adaptor"*
  %call5 = call %"struct.std::_List_iterator"* @_ZNK5boost16iterator_adaptorINS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS1_14edge_desc_implINS_14undirected_tagEjEEiEESA_SD_NS_11use_defaultESD_iE4baseEv(%"class.boost::iterator_adaptor"* %6)
  %call6 = call %"struct.boost::list_edge"* @_ZNKSt14_List_iteratorIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEEptEv(%"struct.std::_List_iterator"* %call5)
  %call7 = call %"struct.boost::property"* @_ZN5boost9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEE12get_propertyEv(%"struct.boost::list_edge"* %call6)
  %7 = bitcast %"struct.boost::property"* %call7 to i8*
  call void @_ZN5boost6detail14edge_desc_implINS_14undirected_tagEjEC1EjjPKv(%"class.boost::detail::edge_desc_impl"* %agg.result, i32 %2, i32 %5, i8* %7)
  ret void
}

define linkonce_odr void @_ZN5boost6detail14edge_desc_implINS_14undirected_tagEjEC1EjjPKv(%"class.boost::detail::edge_desc_impl"* %this, i32 %s, i32 %d, i8* %eplug) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %s.addr = alloca i32, align 4
  %d.addr = alloca i32, align 4
  %eplug.addr = alloca i8*, align 4
  store %"class.boost::detail::edge_desc_impl"* %this, %"class.boost::detail::edge_desc_impl"** %this.addr, align 4
  store i32 %s, i32* %s.addr, align 4
  store i32 %d, i32* %d.addr, align 4
  store i8* %eplug, i8** %eplug.addr, align 4
  %this1 = load %"class.boost::detail::edge_desc_impl"** %this.addr
  %0 = load i32* %s.addr, align 4
  %1 = load i32* %d.addr, align 4
  %2 = load i8** %eplug.addr, align 4
  call void @_ZN5boost6detail14edge_desc_implINS_14undirected_tagEjEC2EjjPKv(%"class.boost::detail::edge_desc_impl"* %this1, i32 %0, i32 %1, i8* %2)
  ret void
}

define linkonce_odr %"struct.std::_List_iterator"* @_ZNK5boost16iterator_adaptorINS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS1_14edge_desc_implINS_14undirected_tagEjEEiEESA_SD_NS_11use_defaultESD_iE4baseEv(%"class.boost::iterator_adaptor"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::iterator_adaptor"*, align 4
  store %"class.boost::iterator_adaptor"* %this, %"class.boost::iterator_adaptor"** %this.addr, align 4
  %this1 = load %"class.boost::iterator_adaptor"** %this.addr
  %m_iterator = getelementptr inbounds %"class.boost::iterator_adaptor"* %this1, i32 0, i32 0
  ret %"struct.std::_List_iterator"* %m_iterator
}

define linkonce_odr %"struct.boost::list_edge"* @_ZNKSt14_List_iteratorIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEEdeEv(%"struct.std::_List_iterator"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::_List_iterator"*, align 4
  store %"struct.std::_List_iterator"* %this, %"struct.std::_List_iterator"** %this.addr, align 4
  %this1 = load %"struct.std::_List_iterator"** %this.addr
  %_M_node = getelementptr inbounds %"struct.std::_List_iterator"* %this1, i32 0, i32 0
  %0 = load %"struct.std::__detail::_List_node_base"** %_M_node, align 4
  %1 = bitcast %"struct.std::__detail::_List_node_base"* %0 to %"struct.std::_List_node"*
  %_M_data = getelementptr inbounds %"struct.std::_List_node"* %1, i32 0, i32 1
  ret %"struct.boost::list_edge"* %_M_data
}

define linkonce_odr %"struct.boost::list_edge"* @_ZNKSt14_List_iteratorIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEEptEv(%"struct.std::_List_iterator"* %this) align 2 {
entry:
  %this.addr = alloca %"struct.std::_List_iterator"*, align 4
  store %"struct.std::_List_iterator"* %this, %"struct.std::_List_iterator"** %this.addr, align 4
  %this1 = load %"struct.std::_List_iterator"** %this.addr
  %_M_node = getelementptr inbounds %"struct.std::_List_iterator"* %this1, i32 0, i32 0
  %0 = load %"struct.std::__detail::_List_node_base"** %_M_node, align 4
  %1 = bitcast %"struct.std::__detail::_List_node_base"* %0 to %"struct.std::_List_node"*
  %_M_data = getelementptr inbounds %"struct.std::_List_node"* %1, i32 0, i32 1
  %call = call %"struct.boost::list_edge"* @_ZSt11__addressofIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEEPT_RS7_(%"struct.boost::list_edge"* %_M_data)
  ret %"struct.boost::list_edge"* %call
}

define linkonce_odr %"struct.boost::property"* @_ZN5boost9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEE12get_propertyEv(%"struct.boost::list_edge"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::list_edge"*, align 4
  store %"struct.boost::list_edge"* %this, %"struct.boost::list_edge"** %this.addr, align 4
  %this1 = load %"struct.boost::list_edge"** %this.addr
  %m_property = getelementptr inbounds %"struct.boost::list_edge"* %this1, i32 0, i32 1
  ret %"struct.boost::property"* %m_property
}

define linkonce_odr %"struct.boost::list_edge"* @_ZSt11__addressofIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEEPT_RS7_(%"struct.boost::list_edge"* %__r) nounwind inlinehint {
entry:
  %__r.addr = alloca %"struct.boost::list_edge"*, align 4
  store %"struct.boost::list_edge"* %__r, %"struct.boost::list_edge"** %__r.addr, align 4
  %0 = load %"struct.boost::list_edge"** %__r.addr, align 4
  %1 = bitcast %"struct.boost::list_edge"* %0 to i8*
  %2 = bitcast i8* %1 to %"struct.boost::list_edge"*
  ret %"struct.boost::list_edge"* %2
}

define linkonce_odr void @_ZN5boost6detail14edge_desc_implINS_14undirected_tagEjEC2EjjPKv(%"class.boost::detail::edge_desc_impl"* %this, i32 %s, i32 %d, i8* %eplug) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %s.addr = alloca i32, align 4
  %d.addr = alloca i32, align 4
  %eplug.addr = alloca i8*, align 4
  store %"class.boost::detail::edge_desc_impl"* %this, %"class.boost::detail::edge_desc_impl"** %this.addr, align 4
  store i32 %s, i32* %s.addr, align 4
  store i32 %d, i32* %d.addr, align 4
  store i8* %eplug, i8** %eplug.addr, align 4
  %this1 = load %"class.boost::detail::edge_desc_impl"** %this.addr
  %0 = bitcast %"class.boost::detail::edge_desc_impl"* %this1 to %"struct.boost::detail::edge_base"*
  %1 = load i32* %s.addr, align 4
  %2 = load i32* %d.addr, align 4
  call void @_ZN5boost6detail9edge_baseINS_14undirected_tagEjEC2Ejj(%"struct.boost::detail::edge_base"* %0, i32 %1, i32 %2)
  %m_eproperty = getelementptr inbounds %"class.boost::detail::edge_desc_impl"* %this1, i32 0, i32 1
  %3 = load i8** %eplug.addr, align 4
  store i8* %3, i8** %m_eproperty, align 4
  ret void
}

define linkonce_odr void @_ZN5boost6detail9edge_baseINS_14undirected_tagEjEC2Ejj(%"struct.boost::detail::edge_base"* %this, i32 %s, i32 %d) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::detail::edge_base"*, align 4
  %s.addr = alloca i32, align 4
  %d.addr = alloca i32, align 4
  store %"struct.boost::detail::edge_base"* %this, %"struct.boost::detail::edge_base"** %this.addr, align 4
  store i32 %s, i32* %s.addr, align 4
  store i32 %d, i32* %d.addr, align 4
  %this1 = load %"struct.boost::detail::edge_base"** %this.addr
  %m_source = getelementptr inbounds %"struct.boost::detail::edge_base"* %this1, i32 0, i32 0
  %0 = load i32* %s.addr, align 4
  store i32 %0, i32* %m_source, align 4
  %m_target = getelementptr inbounds %"struct.boost::detail::edge_base"* %this1, i32 0, i32 1
  %1 = load i32* %d.addr, align 4
  store i32 %1, i32* %m_target, align 4
  ret void
}

define linkonce_odr void @_ZN5boost20iterator_core_access9incrementINS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS2_14edge_desc_implINS_14undirected_tagEjEEiEEEEvRT_(%"struct.boost::detail::undirected_edge_iter"* %f) align 2 {
entry:
  %f.addr = alloca %"struct.boost::detail::undirected_edge_iter"*, align 4
  store %"struct.boost::detail::undirected_edge_iter"* %f, %"struct.boost::detail::undirected_edge_iter"** %f.addr, align 4
  %0 = load %"struct.boost::detail::undirected_edge_iter"** %f.addr, align 4
  %1 = bitcast %"struct.boost::detail::undirected_edge_iter"* %0 to %"class.boost::iterator_adaptor"*
  call void @_ZN5boost16iterator_adaptorINS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS1_14edge_desc_implINS_14undirected_tagEjEEiEESA_SD_NS_11use_defaultESD_iE9incrementEv(%"class.boost::iterator_adaptor"* %1)
  ret void
}

define linkonce_odr %"struct.boost::detail::undirected_edge_iter"* @_ZN5boost15iterator_facadeINS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS1_14edge_desc_implINS_14undirected_tagEjEEiEESD_NS_27bidirectional_traversal_tagESD_iE7derivedEv(%"class.boost::iterator_facade"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::iterator_facade"*, align 4
  store %"class.boost::iterator_facade"* %this, %"class.boost::iterator_facade"** %this.addr, align 4
  %this1 = load %"class.boost::iterator_facade"** %this.addr
  %0 = bitcast %"class.boost::iterator_facade"* %this1 to %"struct.boost::detail::undirected_edge_iter"*
  ret %"struct.boost::detail::undirected_edge_iter"* %0
}

define linkonce_odr void @_ZN5boost16iterator_adaptorINS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS1_14edge_desc_implINS_14undirected_tagEjEEiEESA_SD_NS_11use_defaultESD_iE9incrementEv(%"class.boost::iterator_adaptor"* %this) align 2 {
entry:
  %this.addr = alloca %"class.boost::iterator_adaptor"*, align 4
  store %"class.boost::iterator_adaptor"* %this, %"class.boost::iterator_adaptor"** %this.addr, align 4
  %this1 = load %"class.boost::iterator_adaptor"** %this.addr
  %m_iterator = getelementptr inbounds %"class.boost::iterator_adaptor"* %this1, i32 0, i32 0
  %call = call %"struct.std::_List_iterator"* @_ZNSt14_List_iteratorIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEEppEv(%"struct.std::_List_iterator"* %m_iterator)
  ret void
}

define linkonce_odr %"struct.std::_List_iterator"* @_ZNSt14_List_iteratorIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEEppEv(%"struct.std::_List_iterator"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::_List_iterator"*, align 4
  store %"struct.std::_List_iterator"* %this, %"struct.std::_List_iterator"** %this.addr, align 4
  %this1 = load %"struct.std::_List_iterator"** %this.addr
  %_M_node = getelementptr inbounds %"struct.std::_List_iterator"* %this1, i32 0, i32 0
  %0 = load %"struct.std::__detail::_List_node_base"** %_M_node, align 4
  %_M_next = getelementptr inbounds %"struct.std::__detail::_List_node_base"* %0, i32 0, i32 0
  %1 = load %"struct.std::__detail::_List_node_base"** %_M_next, align 4
  %_M_node2 = getelementptr inbounds %"struct.std::_List_iterator"* %this1, i32 0, i32 0
  store %"struct.std::__detail::_List_node_base"* %1, %"struct.std::__detail::_List_node_base"** %_M_node2, align 4
  ret %"struct.std::_List_iterator"* %this1
}

define linkonce_odr zeroext i1 @_ZN5boost20iterator_core_access5equalINS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS2_14edge_desc_implINS_14undirected_tagEjEEiEESF_EEbRKT_RKT0_N4mpl_5bool_ILb1EEE(%"struct.boost::detail::undirected_edge_iter"* %f1, %"struct.boost::detail::undirected_edge_iter"* %f2) align 2 {
entry:
  %f1.addr = alloca %"struct.boost::detail::undirected_edge_iter"*, align 4
  %f2.addr = alloca %"struct.boost::detail::undirected_edge_iter"*, align 4
  %0 = alloca %"struct.mpl_::bool_", align 1
  store %"struct.boost::detail::undirected_edge_iter"* %f1, %"struct.boost::detail::undirected_edge_iter"** %f1.addr, align 4
  store %"struct.boost::detail::undirected_edge_iter"* %f2, %"struct.boost::detail::undirected_edge_iter"** %f2.addr, align 4
  %1 = load %"struct.boost::detail::undirected_edge_iter"** %f1.addr, align 4
  %2 = bitcast %"struct.boost::detail::undirected_edge_iter"* %1 to %"class.boost::iterator_adaptor"*
  %3 = load %"struct.boost::detail::undirected_edge_iter"** %f2.addr, align 4
  %4 = bitcast %"struct.boost::detail::undirected_edge_iter"* %3 to %"class.boost::iterator_adaptor"*
  %call = call zeroext i1 @_ZNK5boost16iterator_adaptorINS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS1_14edge_desc_implINS_14undirected_tagEjEEiEESA_SD_NS_11use_defaultESD_iE5equalISE_SA_SD_SF_SD_iEEbRKNS0_IT_T0_T1_T2_T3_T4_EE(%"class.boost::iterator_adaptor"* %2, %"class.boost::iterator_adaptor"* %4)
  ret i1 %call
}

define linkonce_odr zeroext i1 @_ZNK5boost16iterator_adaptorINS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS1_14edge_desc_implINS_14undirected_tagEjEEiEESA_SD_NS_11use_defaultESD_iE5equalISE_SA_SD_SF_SD_iEEbRKNS0_IT_T0_T1_T2_T3_T4_EE(%"class.boost::iterator_adaptor"* %this, %"class.boost::iterator_adaptor"* %x) align 2 {
entry:
  %this.addr = alloca %"class.boost::iterator_adaptor"*, align 4
  %x.addr = alloca %"class.boost::iterator_adaptor"*, align 4
  store %"class.boost::iterator_adaptor"* %this, %"class.boost::iterator_adaptor"** %this.addr, align 4
  store %"class.boost::iterator_adaptor"* %x, %"class.boost::iterator_adaptor"** %x.addr, align 4
  %this1 = load %"class.boost::iterator_adaptor"** %this.addr
  %m_iterator = getelementptr inbounds %"class.boost::iterator_adaptor"* %this1, i32 0, i32 0
  %0 = load %"class.boost::iterator_adaptor"** %x.addr, align 4
  %call = call %"struct.std::_List_iterator"* @_ZNK5boost16iterator_adaptorINS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS1_14edge_desc_implINS_14undirected_tagEjEEiEESA_SD_NS_11use_defaultESD_iE4baseEv(%"class.boost::iterator_adaptor"* %0)
  %call2 = call zeroext i1 @_ZNKSt14_List_iteratorIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEEeqERKS7_(%"struct.std::_List_iterator"* %m_iterator, %"struct.std::_List_iterator"* %call)
  ret i1 %call2
}

define linkonce_odr zeroext i1 @_ZNKSt14_List_iteratorIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEEeqERKS7_(%"struct.std::_List_iterator"* %this, %"struct.std::_List_iterator"* %__x) nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::_List_iterator"*, align 4
  %__x.addr = alloca %"struct.std::_List_iterator"*, align 4
  store %"struct.std::_List_iterator"* %this, %"struct.std::_List_iterator"** %this.addr, align 4
  store %"struct.std::_List_iterator"* %__x, %"struct.std::_List_iterator"** %__x.addr, align 4
  %this1 = load %"struct.std::_List_iterator"** %this.addr
  %_M_node = getelementptr inbounds %"struct.std::_List_iterator"* %this1, i32 0, i32 0
  %0 = load %"struct.std::__detail::_List_node_base"** %_M_node, align 4
  %1 = load %"struct.std::_List_iterator"** %__x.addr, align 4
  %_M_node2 = getelementptr inbounds %"struct.std::_List_iterator"* %1, i32 0, i32 0
  %2 = load %"struct.std::__detail::_List_node_base"** %_M_node2, align 4
  %cmp = icmp eq %"struct.std::__detail::_List_node_base"* %0, %2
  ret i1 %cmp
}

define linkonce_odr void @_ZSt9make_pairIN5boost6detail20undirected_edge_iterISt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEENS1_14edge_desc_implINS0_14undirected_tagEjEEiEESE_ESt4pairIT_T0_ESG_SH_(%"struct.std::pair.10"* noalias sret %agg.result, %"struct.boost::detail::undirected_edge_iter"* byval align 4 %__x, %"struct.boost::detail::undirected_edge_iter"* byval align 4 %__y) inlinehint {
entry:
  call void @_ZNSt4pairIN5boost6detail20undirected_edge_iterISt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEENS1_14edge_desc_implINS0_14undirected_tagEjEEiEESE_EC1ERKSE_SH_(%"struct.std::pair.10"* %agg.result, %"struct.boost::detail::undirected_edge_iter"* %__x, %"struct.boost::detail::undirected_edge_iter"* %__y)
  ret void
}

define linkonce_odr void @_ZN5boost6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS0_14edge_desc_implINS_14undirected_tagEjEEiEC1ES9_(%"struct.boost::detail::undirected_edge_iter"* %this, %"struct.std::_List_iterator"* byval align 4 %i) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::detail::undirected_edge_iter"*, align 4
  store %"struct.boost::detail::undirected_edge_iter"* %this, %"struct.boost::detail::undirected_edge_iter"** %this.addr, align 4
  %this1 = load %"struct.boost::detail::undirected_edge_iter"** %this.addr
  call void @_ZN5boost6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS0_14edge_desc_implINS_14undirected_tagEjEEiEC2ES9_(%"struct.boost::detail::undirected_edge_iter"* %this1, %"struct.std::_List_iterator"* byval align 4 %i)
  ret void
}

define linkonce_odr void @_ZNSt4listIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EE5beginEv(%"struct.std::_List_iterator"* noalias sret %agg.result, %"class.std::list"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::list"*, align 4
  store %"class.std::list"* %this, %"class.std::list"** %this.addr, align 4
  %this1 = load %"class.std::list"** %this.addr
  %0 = bitcast %"class.std::list"* %this1 to %"class.std::_List_base"*
  %_M_impl = getelementptr inbounds %"class.std::_List_base"* %0, i32 0, i32 0
  %_M_node = getelementptr inbounds %"struct.std::_List_base<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_List_impl"* %_M_impl, i32 0, i32 0
  %_M_next = getelementptr inbounds %"struct.std::__detail::_List_node_base"* %_M_node, i32 0, i32 0
  %1 = load %"struct.std::__detail::_List_node_base"** %_M_next, align 4
  call void @_ZNSt14_List_iteratorIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEEC1EPNSt8__detail15_List_node_baseE(%"struct.std::_List_iterator"* %agg.result, %"struct.std::__detail::_List_node_base"* %1)
  ret void
}

define linkonce_odr void @_ZNSt4listIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EE3endEv(%"struct.std::_List_iterator"* noalias sret %agg.result, %"class.std::list"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::list"*, align 4
  store %"class.std::list"* %this, %"class.std::list"** %this.addr, align 4
  %this1 = load %"class.std::list"** %this.addr
  %0 = bitcast %"class.std::list"* %this1 to %"class.std::_List_base"*
  %_M_impl = getelementptr inbounds %"class.std::_List_base"* %0, i32 0, i32 0
  %_M_node = getelementptr inbounds %"struct.std::_List_base<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_List_impl"* %_M_impl, i32 0, i32 0
  call void @_ZNSt14_List_iteratorIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEEC1EPNSt8__detail15_List_node_baseE(%"struct.std::_List_iterator"* %agg.result, %"struct.std::__detail::_List_node_base"* %_M_node)
  ret void
}

define linkonce_odr void @_ZNSt14_List_iteratorIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEEC1EPNSt8__detail15_List_node_baseE(%"struct.std::_List_iterator"* %this, %"struct.std::__detail::_List_node_base"* %__x) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::_List_iterator"*, align 4
  %__x.addr = alloca %"struct.std::__detail::_List_node_base"*, align 4
  store %"struct.std::_List_iterator"* %this, %"struct.std::_List_iterator"** %this.addr, align 4
  store %"struct.std::__detail::_List_node_base"* %__x, %"struct.std::__detail::_List_node_base"** %__x.addr, align 4
  %this1 = load %"struct.std::_List_iterator"** %this.addr
  %0 = load %"struct.std::__detail::_List_node_base"** %__x.addr, align 4
  call void @_ZNSt14_List_iteratorIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEEC2EPNSt8__detail15_List_node_baseE(%"struct.std::_List_iterator"* %this1, %"struct.std::__detail::_List_node_base"* %0)
  ret void
}

define linkonce_odr void @_ZNSt14_List_iteratorIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEEC2EPNSt8__detail15_List_node_baseE(%"struct.std::_List_iterator"* %this, %"struct.std::__detail::_List_node_base"* %__x) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::_List_iterator"*, align 4
  %__x.addr = alloca %"struct.std::__detail::_List_node_base"*, align 4
  store %"struct.std::_List_iterator"* %this, %"struct.std::_List_iterator"** %this.addr, align 4
  store %"struct.std::__detail::_List_node_base"* %__x, %"struct.std::__detail::_List_node_base"** %__x.addr, align 4
  %this1 = load %"struct.std::_List_iterator"** %this.addr
  %_M_node = getelementptr inbounds %"struct.std::_List_iterator"* %this1, i32 0, i32 0
  %0 = load %"struct.std::__detail::_List_node_base"** %__x.addr, align 4
  store %"struct.std::__detail::_List_node_base"* %0, %"struct.std::__detail::_List_node_base"** %_M_node, align 4
  ret void
}

define linkonce_odr void @_ZN5boost6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS0_14edge_desc_implINS_14undirected_tagEjEEiEC2ES9_(%"struct.boost::detail::undirected_edge_iter"* %this, %"struct.std::_List_iterator"* byval align 4 %i) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::detail::undirected_edge_iter"*, align 4
  store %"struct.boost::detail::undirected_edge_iter"* %this, %"struct.boost::detail::undirected_edge_iter"** %this.addr, align 4
  %this1 = load %"struct.boost::detail::undirected_edge_iter"** %this.addr
  %0 = bitcast %"struct.boost::detail::undirected_edge_iter"* %this1 to %"class.boost::iterator_adaptor"*
  call void @_ZN5boost16iterator_adaptorINS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS1_14edge_desc_implINS_14undirected_tagEjEEiEESA_SD_NS_11use_defaultESD_iEC2ERKSA_(%"class.boost::iterator_adaptor"* %0, %"struct.std::_List_iterator"* %i)
  ret void
}

define linkonce_odr void @_ZN5boost16iterator_adaptorINS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS1_14edge_desc_implINS_14undirected_tagEjEEiEESA_SD_NS_11use_defaultESD_iEC2ERKSA_(%"class.boost::iterator_adaptor"* %this, %"struct.std::_List_iterator"* %iter) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::iterator_adaptor"*, align 4
  %iter.addr = alloca %"struct.std::_List_iterator"*, align 4
  store %"class.boost::iterator_adaptor"* %this, %"class.boost::iterator_adaptor"** %this.addr, align 4
  store %"struct.std::_List_iterator"* %iter, %"struct.std::_List_iterator"** %iter.addr, align 4
  %this1 = load %"class.boost::iterator_adaptor"** %this.addr
  %0 = bitcast %"class.boost::iterator_adaptor"* %this1 to %"class.boost::iterator_facade"*
  %m_iterator = getelementptr inbounds %"class.boost::iterator_adaptor"* %this1, i32 0, i32 0
  %1 = load %"struct.std::_List_iterator"** %iter.addr, align 4
  %2 = bitcast %"struct.std::_List_iterator"* %m_iterator to i8*
  %3 = bitcast %"struct.std::_List_iterator"* %1 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %2, i8* %3, i32 4, i32 4, i1 false)
  ret void
}

define linkonce_odr void @_ZNSt4pairIN5boost6detail20undirected_edge_iterISt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEENS1_14edge_desc_implINS0_14undirected_tagEjEEiEESE_EC1ERKSE_SH_(%"struct.std::pair.10"* %this, %"struct.boost::detail::undirected_edge_iter"* %__a, %"struct.boost::detail::undirected_edge_iter"* %__b) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::pair.10"*, align 4
  %__a.addr = alloca %"struct.boost::detail::undirected_edge_iter"*, align 4
  %__b.addr = alloca %"struct.boost::detail::undirected_edge_iter"*, align 4
  store %"struct.std::pair.10"* %this, %"struct.std::pair.10"** %this.addr, align 4
  store %"struct.boost::detail::undirected_edge_iter"* %__a, %"struct.boost::detail::undirected_edge_iter"** %__a.addr, align 4
  store %"struct.boost::detail::undirected_edge_iter"* %__b, %"struct.boost::detail::undirected_edge_iter"** %__b.addr, align 4
  %this1 = load %"struct.std::pair.10"** %this.addr
  %0 = load %"struct.boost::detail::undirected_edge_iter"** %__a.addr
  %1 = load %"struct.boost::detail::undirected_edge_iter"** %__b.addr
  call void @_ZNSt4pairIN5boost6detail20undirected_edge_iterISt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEENS1_14edge_desc_implINS0_14undirected_tagEjEEiEESE_EC2ERKSE_SH_(%"struct.std::pair.10"* %this1, %"struct.boost::detail::undirected_edge_iter"* %0, %"struct.boost::detail::undirected_edge_iter"* %1)
  ret void
}

define linkonce_odr void @_ZNSt4pairIN5boost6detail20undirected_edge_iterISt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEENS1_14edge_desc_implINS0_14undirected_tagEjEEiEESE_EC2ERKSE_SH_(%"struct.std::pair.10"* %this, %"struct.boost::detail::undirected_edge_iter"* %__a, %"struct.boost::detail::undirected_edge_iter"* %__b) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::pair.10"*, align 4
  %__a.addr = alloca %"struct.boost::detail::undirected_edge_iter"*, align 4
  %__b.addr = alloca %"struct.boost::detail::undirected_edge_iter"*, align 4
  store %"struct.std::pair.10"* %this, %"struct.std::pair.10"** %this.addr, align 4
  store %"struct.boost::detail::undirected_edge_iter"* %__a, %"struct.boost::detail::undirected_edge_iter"** %__a.addr, align 4
  store %"struct.boost::detail::undirected_edge_iter"* %__b, %"struct.boost::detail::undirected_edge_iter"** %__b.addr, align 4
  %this1 = load %"struct.std::pair.10"** %this.addr
  %first = getelementptr inbounds %"struct.std::pair.10"* %this1, i32 0, i32 0
  %0 = load %"struct.boost::detail::undirected_edge_iter"** %__a.addr, align 4
  %1 = bitcast %"struct.boost::detail::undirected_edge_iter"* %first to i8*
  %2 = bitcast %"struct.boost::detail::undirected_edge_iter"* %0 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1, i8* %2, i32 4, i32 4, i1 false)
  %second = getelementptr inbounds %"struct.std::pair.10"* %this1, i32 0, i32 1
  %3 = load %"struct.boost::detail::undirected_edge_iter"** %__b.addr, align 4
  %4 = bitcast %"struct.boost::detail::undirected_edge_iter"* %second to i8*
  %5 = bitcast %"struct.boost::detail::undirected_edge_iter"* %3 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %5, i32 4, i32 4, i1 false)
  ret void
}

define linkonce_odr void @_ZN5boost6tuples5tupleIRNS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS2_14edge_desc_implINS_14undirected_tagEjEEiEESG_NS0_9null_typeESH_SH_SH_SH_SH_SH_SH_EC1ESG_SG_(%"class.boost::tuples::tuple"* %this, %"struct.boost::detail::undirected_edge_iter"* %t0, %"struct.boost::detail::undirected_edge_iter"* %t1) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::tuples::tuple"*, align 4
  %t0.addr = alloca %"struct.boost::detail::undirected_edge_iter"*, align 4
  %t1.addr = alloca %"struct.boost::detail::undirected_edge_iter"*, align 4
  store %"class.boost::tuples::tuple"* %this, %"class.boost::tuples::tuple"** %this.addr, align 4
  store %"struct.boost::detail::undirected_edge_iter"* %t0, %"struct.boost::detail::undirected_edge_iter"** %t0.addr, align 4
  store %"struct.boost::detail::undirected_edge_iter"* %t1, %"struct.boost::detail::undirected_edge_iter"** %t1.addr, align 4
  %this1 = load %"class.boost::tuples::tuple"** %this.addr
  %0 = load %"struct.boost::detail::undirected_edge_iter"** %t0.addr
  %1 = load %"struct.boost::detail::undirected_edge_iter"** %t1.addr
  call void @_ZN5boost6tuples5tupleIRNS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS2_14edge_desc_implINS_14undirected_tagEjEEiEESG_NS0_9null_typeESH_SH_SH_SH_SH_SH_SH_EC2ESG_SG_(%"class.boost::tuples::tuple"* %this1, %"struct.boost::detail::undirected_edge_iter"* %0, %"struct.boost::detail::undirected_edge_iter"* %1)
  ret void
}

define linkonce_odr void @_ZN5boost6tuples5tupleIRNS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS2_14edge_desc_implINS_14undirected_tagEjEEiEESG_NS0_9null_typeESH_SH_SH_SH_SH_SH_SH_EC2ESG_SG_(%"class.boost::tuples::tuple"* %this, %"struct.boost::detail::undirected_edge_iter"* %t0, %"struct.boost::detail::undirected_edge_iter"* %t1) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::tuples::tuple"*, align 4
  %t0.addr = alloca %"struct.boost::detail::undirected_edge_iter"*, align 4
  %t1.addr = alloca %"struct.boost::detail::undirected_edge_iter"*, align 4
  %ref.tmp = alloca %"struct.boost::tuples::null_type", align 1
  %ref.tmp2 = alloca %"struct.boost::tuples::null_type", align 1
  %ref.tmp3 = alloca %"struct.boost::tuples::null_type", align 1
  %ref.tmp4 = alloca %"struct.boost::tuples::null_type", align 1
  %ref.tmp5 = alloca %"struct.boost::tuples::null_type", align 1
  %ref.tmp6 = alloca %"struct.boost::tuples::null_type", align 1
  %ref.tmp7 = alloca %"struct.boost::tuples::null_type", align 1
  %ref.tmp8 = alloca %"struct.boost::tuples::null_type", align 1
  store %"class.boost::tuples::tuple"* %this, %"class.boost::tuples::tuple"** %this.addr, align 4
  store %"struct.boost::detail::undirected_edge_iter"* %t0, %"struct.boost::detail::undirected_edge_iter"** %t0.addr, align 4
  store %"struct.boost::detail::undirected_edge_iter"* %t1, %"struct.boost::detail::undirected_edge_iter"** %t1.addr, align 4
  %this1 = load %"class.boost::tuples::tuple"** %this.addr
  %0 = bitcast %"class.boost::tuples::tuple"* %this1 to %"struct.boost::tuples::cons"*
  %1 = load %"struct.boost::detail::undirected_edge_iter"** %t0.addr, align 4
  %2 = load %"struct.boost::detail::undirected_edge_iter"** %t1.addr, align 4
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp)
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp2)
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp3)
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp4)
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp5)
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp6)
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp7)
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp8)
  call void @_ZN5boost6tuples4consIRNS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS2_14edge_desc_implINS_14undirected_tagEjEEiEENS1_ISG_NS0_9null_typeEEEEC2ISF_SF_KSH_SL_SL_SL_SL_SL_SL_SL_EERT_RT0_RT1_RT2_RT3_RT4_RT5_RT6_RT7_RT8_(%"struct.boost::tuples::cons"* %0, %"struct.boost::detail::undirected_edge_iter"* %1, %"struct.boost::detail::undirected_edge_iter"* %2, %"struct.boost::tuples::null_type"* %ref.tmp, %"struct.boost::tuples::null_type"* %ref.tmp2, %"struct.boost::tuples::null_type"* %ref.tmp3, %"struct.boost::tuples::null_type"* %ref.tmp4, %"struct.boost::tuples::null_type"* %ref.tmp5, %"struct.boost::tuples::null_type"* %ref.tmp6, %"struct.boost::tuples::null_type"* %ref.tmp7, %"struct.boost::tuples::null_type"* %ref.tmp8)
  ret void
}

define linkonce_odr void @_ZN5boost6tuples4consIRNS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS2_14edge_desc_implINS_14undirected_tagEjEEiEENS1_ISG_NS0_9null_typeEEEEC2ISF_SF_KSH_SL_SL_SL_SL_SL_SL_SL_EERT_RT0_RT1_RT2_RT3_RT4_RT5_RT6_RT7_RT8_(%"struct.boost::tuples::cons"* %this, %"struct.boost::detail::undirected_edge_iter"* %t1, %"struct.boost::detail::undirected_edge_iter"* %t2, %"struct.boost::tuples::null_type"* %t3, %"struct.boost::tuples::null_type"* %t4, %"struct.boost::tuples::null_type"* %t5, %"struct.boost::tuples::null_type"* %t6, %"struct.boost::tuples::null_type"* %t7, %"struct.boost::tuples::null_type"* %t8, %"struct.boost::tuples::null_type"* %t9, %"struct.boost::tuples::null_type"* %t10) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::tuples::cons"*, align 4
  %t1.addr = alloca %"struct.boost::detail::undirected_edge_iter"*, align 4
  %t2.addr = alloca %"struct.boost::detail::undirected_edge_iter"*, align 4
  %t3.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %t4.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %t5.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %t6.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %t7.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %t8.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %t9.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %t10.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %ref.tmp = alloca %"struct.boost::tuples::null_type", align 1
  store %"struct.boost::tuples::cons"* %this, %"struct.boost::tuples::cons"** %this.addr, align 4
  store %"struct.boost::detail::undirected_edge_iter"* %t1, %"struct.boost::detail::undirected_edge_iter"** %t1.addr, align 4
  store %"struct.boost::detail::undirected_edge_iter"* %t2, %"struct.boost::detail::undirected_edge_iter"** %t2.addr, align 4
  store %"struct.boost::tuples::null_type"* %t3, %"struct.boost::tuples::null_type"** %t3.addr, align 4
  store %"struct.boost::tuples::null_type"* %t4, %"struct.boost::tuples::null_type"** %t4.addr, align 4
  store %"struct.boost::tuples::null_type"* %t5, %"struct.boost::tuples::null_type"** %t5.addr, align 4
  store %"struct.boost::tuples::null_type"* %t6, %"struct.boost::tuples::null_type"** %t6.addr, align 4
  store %"struct.boost::tuples::null_type"* %t7, %"struct.boost::tuples::null_type"** %t7.addr, align 4
  store %"struct.boost::tuples::null_type"* %t8, %"struct.boost::tuples::null_type"** %t8.addr, align 4
  store %"struct.boost::tuples::null_type"* %t9, %"struct.boost::tuples::null_type"** %t9.addr, align 4
  store %"struct.boost::tuples::null_type"* %t10, %"struct.boost::tuples::null_type"** %t10.addr, align 4
  %this1 = load %"struct.boost::tuples::cons"** %this.addr
  %0 = getelementptr inbounds %"struct.boost::tuples::cons"* %this1, i32 0, i32 0
  %1 = load %"struct.boost::detail::undirected_edge_iter"** %t1.addr, align 4
  store %"struct.boost::detail::undirected_edge_iter"* %1, %"struct.boost::detail::undirected_edge_iter"** %0, align 4
  %tail = getelementptr inbounds %"struct.boost::tuples::cons"* %this1, i32 0, i32 1
  %2 = load %"struct.boost::detail::undirected_edge_iter"** %t2.addr, align 4
  %3 = load %"struct.boost::tuples::null_type"** %t3.addr, align 4
  %4 = load %"struct.boost::tuples::null_type"** %t4.addr, align 4
  %5 = load %"struct.boost::tuples::null_type"** %t5.addr, align 4
  %6 = load %"struct.boost::tuples::null_type"** %t6.addr, align 4
  %7 = load %"struct.boost::tuples::null_type"** %t7.addr, align 4
  %8 = load %"struct.boost::tuples::null_type"** %t8.addr, align 4
  %9 = load %"struct.boost::tuples::null_type"** %t9.addr, align 4
  %10 = load %"struct.boost::tuples::null_type"** %t10.addr, align 4
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp)
  call void @_ZN5boost6tuples4consIRNS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS2_14edge_desc_implINS_14undirected_tagEjEEiEENS0_9null_typeEEC1ISF_EERT_RKSH_SN_SN_SN_SN_SN_SN_SN_SN_(%"struct.boost::tuples::cons.9"* %tail, %"struct.boost::detail::undirected_edge_iter"* %2, %"struct.boost::tuples::null_type"* %3, %"struct.boost::tuples::null_type"* %4, %"struct.boost::tuples::null_type"* %5, %"struct.boost::tuples::null_type"* %6, %"struct.boost::tuples::null_type"* %7, %"struct.boost::tuples::null_type"* %8, %"struct.boost::tuples::null_type"* %9, %"struct.boost::tuples::null_type"* %10, %"struct.boost::tuples::null_type"* %ref.tmp)
  ret void
}

define linkonce_odr void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* noalias sret %agg.result) nounwind inlinehint {
entry:
  ret void
}

define linkonce_odr void @_ZN5boost6tuples4consIRNS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS2_14edge_desc_implINS_14undirected_tagEjEEiEENS0_9null_typeEEC1ISF_EERT_RKSH_SN_SN_SN_SN_SN_SN_SN_SN_(%"struct.boost::tuples::cons.9"* %this, %"struct.boost::detail::undirected_edge_iter"* %t1, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::tuples::cons.9"*, align 4
  %t1.addr = alloca %"struct.boost::detail::undirected_edge_iter"*, align 4
  %.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr1 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr2 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr3 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr4 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr5 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr6 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr7 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr8 = alloca %"struct.boost::tuples::null_type"*, align 4
  store %"struct.boost::tuples::cons.9"* %this, %"struct.boost::tuples::cons.9"** %this.addr, align 4
  store %"struct.boost::detail::undirected_edge_iter"* %t1, %"struct.boost::detail::undirected_edge_iter"** %t1.addr, align 4
  store %"struct.boost::tuples::null_type"* %0, %"struct.boost::tuples::null_type"** %.addr, align 4
  store %"struct.boost::tuples::null_type"* %1, %"struct.boost::tuples::null_type"** %.addr1, align 4
  store %"struct.boost::tuples::null_type"* %2, %"struct.boost::tuples::null_type"** %.addr2, align 4
  store %"struct.boost::tuples::null_type"* %3, %"struct.boost::tuples::null_type"** %.addr3, align 4
  store %"struct.boost::tuples::null_type"* %4, %"struct.boost::tuples::null_type"** %.addr4, align 4
  store %"struct.boost::tuples::null_type"* %5, %"struct.boost::tuples::null_type"** %.addr5, align 4
  store %"struct.boost::tuples::null_type"* %6, %"struct.boost::tuples::null_type"** %.addr6, align 4
  store %"struct.boost::tuples::null_type"* %7, %"struct.boost::tuples::null_type"** %.addr7, align 4
  store %"struct.boost::tuples::null_type"* %8, %"struct.boost::tuples::null_type"** %.addr8, align 4
  %this9 = load %"struct.boost::tuples::cons.9"** %this.addr
  %9 = load %"struct.boost::detail::undirected_edge_iter"** %t1.addr
  %10 = load %"struct.boost::tuples::null_type"** %.addr
  %11 = load %"struct.boost::tuples::null_type"** %.addr1
  %12 = load %"struct.boost::tuples::null_type"** %.addr2
  %13 = load %"struct.boost::tuples::null_type"** %.addr3
  %14 = load %"struct.boost::tuples::null_type"** %.addr4
  %15 = load %"struct.boost::tuples::null_type"** %.addr5
  %16 = load %"struct.boost::tuples::null_type"** %.addr6
  %17 = load %"struct.boost::tuples::null_type"** %.addr7
  %18 = load %"struct.boost::tuples::null_type"** %.addr8
  call void @_ZN5boost6tuples4consIRNS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS2_14edge_desc_implINS_14undirected_tagEjEEiEENS0_9null_typeEEC2ISF_EERT_RKSH_SN_SN_SN_SN_SN_SN_SN_SN_(%"struct.boost::tuples::cons.9"* %this9, %"struct.boost::detail::undirected_edge_iter"* %9, %"struct.boost::tuples::null_type"* %10, %"struct.boost::tuples::null_type"* %11, %"struct.boost::tuples::null_type"* %12, %"struct.boost::tuples::null_type"* %13, %"struct.boost::tuples::null_type"* %14, %"struct.boost::tuples::null_type"* %15, %"struct.boost::tuples::null_type"* %16, %"struct.boost::tuples::null_type"* %17, %"struct.boost::tuples::null_type"* %18)
  ret void
}

define linkonce_odr void @_ZN5boost6tuples4consIRNS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS2_14edge_desc_implINS_14undirected_tagEjEEiEENS0_9null_typeEEC2ISF_EERT_RKSH_SN_SN_SN_SN_SN_SN_SN_SN_(%"struct.boost::tuples::cons.9"* %this, %"struct.boost::detail::undirected_edge_iter"* %t1, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::tuples::cons.9"*, align 4
  %t1.addr = alloca %"struct.boost::detail::undirected_edge_iter"*, align 4
  %.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr1 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr2 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr3 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr4 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr5 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr6 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr7 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr8 = alloca %"struct.boost::tuples::null_type"*, align 4
  store %"struct.boost::tuples::cons.9"* %this, %"struct.boost::tuples::cons.9"** %this.addr, align 4
  store %"struct.boost::detail::undirected_edge_iter"* %t1, %"struct.boost::detail::undirected_edge_iter"** %t1.addr, align 4
  store %"struct.boost::tuples::null_type"* %0, %"struct.boost::tuples::null_type"** %.addr, align 4
  store %"struct.boost::tuples::null_type"* %1, %"struct.boost::tuples::null_type"** %.addr1, align 4
  store %"struct.boost::tuples::null_type"* %2, %"struct.boost::tuples::null_type"** %.addr2, align 4
  store %"struct.boost::tuples::null_type"* %3, %"struct.boost::tuples::null_type"** %.addr3, align 4
  store %"struct.boost::tuples::null_type"* %4, %"struct.boost::tuples::null_type"** %.addr4, align 4
  store %"struct.boost::tuples::null_type"* %5, %"struct.boost::tuples::null_type"** %.addr5, align 4
  store %"struct.boost::tuples::null_type"* %6, %"struct.boost::tuples::null_type"** %.addr6, align 4
  store %"struct.boost::tuples::null_type"* %7, %"struct.boost::tuples::null_type"** %.addr7, align 4
  store %"struct.boost::tuples::null_type"* %8, %"struct.boost::tuples::null_type"** %.addr8, align 4
  %this9 = load %"struct.boost::tuples::cons.9"** %this.addr
  %9 = getelementptr inbounds %"struct.boost::tuples::cons.9"* %this9, i32 0, i32 0
  %10 = load %"struct.boost::detail::undirected_edge_iter"** %t1.addr, align 4
  store %"struct.boost::detail::undirected_edge_iter"* %10, %"struct.boost::detail::undirected_edge_iter"** %9, align 4
  ret void
}

define linkonce_odr void @_ZN5boost6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS0_14edge_desc_implINS_14undirected_tagEjEEiEC2Ev(%"struct.boost::detail::undirected_edge_iter"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::detail::undirected_edge_iter"*, align 4
  store %"struct.boost::detail::undirected_edge_iter"* %this, %"struct.boost::detail::undirected_edge_iter"** %this.addr, align 4
  %this1 = load %"struct.boost::detail::undirected_edge_iter"** %this.addr
  %0 = bitcast %"struct.boost::detail::undirected_edge_iter"* %this1 to %"class.boost::iterator_adaptor"*
  call void @_ZN5boost16iterator_adaptorINS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS1_14edge_desc_implINS_14undirected_tagEjEEiEESA_SD_NS_11use_defaultESD_iEC2Ev(%"class.boost::iterator_adaptor"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost16iterator_adaptorINS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS1_14edge_desc_implINS_14undirected_tagEjEEiEESA_SD_NS_11use_defaultESD_iEC2Ev(%"class.boost::iterator_adaptor"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::iterator_adaptor"*, align 4
  store %"class.boost::iterator_adaptor"* %this, %"class.boost::iterator_adaptor"** %this.addr, align 4
  %this1 = load %"class.boost::iterator_adaptor"** %this.addr
  %0 = bitcast %"class.boost::iterator_adaptor"* %this1 to %"class.boost::iterator_facade"*
  %m_iterator = getelementptr inbounds %"class.boost::iterator_adaptor"* %this1, i32 0, i32 0
  call void @_ZNSt14_List_iteratorIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEEC1Ev(%"struct.std::_List_iterator"* %m_iterator)
  ret void
}

define linkonce_odr void @_ZNSt14_List_iteratorIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEEC1Ev(%"struct.std::_List_iterator"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::_List_iterator"*, align 4
  store %"struct.std::_List_iterator"* %this, %"struct.std::_List_iterator"** %this.addr, align 4
  %this1 = load %"struct.std::_List_iterator"** %this.addr
  call void @_ZNSt14_List_iteratorIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEEC2Ev(%"struct.std::_List_iterator"* %this1)
  ret void
}

define linkonce_odr void @_ZNSt14_List_iteratorIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEEC2Ev(%"struct.std::_List_iterator"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::_List_iterator"*, align 4
  store %"struct.std::_List_iterator"* %this, %"struct.std::_List_iterator"** %this.addr, align 4
  %this1 = load %"struct.std::_List_iterator"** %this.addr
  %_M_node = getelementptr inbounds %"struct.std::_List_iterator"* %this1, i32 0, i32 0
  store %"struct.std::__detail::_List_node_base"* null, %"struct.std::__detail::_List_node_base"** %_M_node, align 4
  ret void
}

define linkonce_odr i8* @_ZN5boost6detail14edge_desc_implINS_14undirected_tagEjE12get_propertyEv(%"class.boost::detail::edge_desc_impl"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  store %"class.boost::detail::edge_desc_impl"* %this, %"class.boost::detail::edge_desc_impl"** %this.addr, align 4
  %this1 = load %"class.boost::detail::edge_desc_impl"** %this.addr
  %m_eproperty = getelementptr inbounds %"class.boost::detail::edge_desc_impl"* %this1, i32 0, i32 1
  %0 = load i8** %m_eproperty, align 4
  ret i8* %0
}

define linkonce_odr i32* @_ZN5boost18get_property_valueINS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEES2_EERNS_19lookup_one_propertyIT_T0_E4typeERS6_S7_(%"struct.boost::property"* %p, i32 %tag) inlinehint {
entry:
  %p.addr = alloca %"struct.boost::property"*, align 4
  %tag.addr = alloca i32, align 4
  store %"struct.boost::property"* %p, %"struct.boost::property"** %p.addr, align 4
  store i32 %tag, i32* %tag.addr, align 4
  %0 = load %"struct.boost::property"** %p.addr, align 4
  %call = call i32* @_ZN5boost28lookup_one_property_internalINS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEES2_vE6lookupIS4_EENS_9enable_ifINS_7is_sameIS4_T_EERiE4typeERS9_RKS2_(%"struct.boost::property"* %0, i32* %tag.addr)
  ret i32* %call
}

define linkonce_odr i32* @_ZN5boost28lookup_one_property_internalINS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEES2_vE6lookupIS4_EENS_9enable_ifINS_7is_sameIS4_T_EERiE4typeERS9_RKS2_(%"struct.boost::property"* %prop, i32*) nounwind align 2 {
entry:
  %prop.addr = alloca %"struct.boost::property"*, align 4
  %.addr = alloca i32*, align 4
  store %"struct.boost::property"* %prop, %"struct.boost::property"** %prop.addr, align 4
  store i32* %0, i32** %.addr, align 4
  %1 = load %"struct.boost::property"** %prop.addr, align 4
  %m_value = getelementptr inbounds %"struct.boost::property"* %1, i32 0, i32 0
  ret i32* %m_value
}

define linkonce_odr void @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEC1ERKS6_(%"class.__gnu_cxx::__normal_iterator"* %this, %"class.boost::detail::edge_desc_impl"** %__i) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator"*, align 4
  %__i.addr = alloca %"class.boost::detail::edge_desc_impl"**, align 4
  store %"class.__gnu_cxx::__normal_iterator"* %this, %"class.__gnu_cxx::__normal_iterator"** %this.addr, align 4
  store %"class.boost::detail::edge_desc_impl"** %__i, %"class.boost::detail::edge_desc_impl"*** %__i.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator"** %this.addr
  %0 = load %"class.boost::detail::edge_desc_impl"*** %__i.addr
  call void @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEC2ERKS6_(%"class.__gnu_cxx::__normal_iterator"* %this1, %"class.boost::detail::edge_desc_impl"** %0)
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEC2ERKS6_(%"class.__gnu_cxx::__normal_iterator"* %this, %"class.boost::detail::edge_desc_impl"** %__i) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator"*, align 4
  %__i.addr = alloca %"class.boost::detail::edge_desc_impl"**, align 4
  store %"class.__gnu_cxx::__normal_iterator"* %this, %"class.__gnu_cxx::__normal_iterator"** %this.addr, align 4
  store %"class.boost::detail::edge_desc_impl"** %__i, %"class.boost::detail::edge_desc_impl"*** %__i.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator"* %this1, i32 0, i32 0
  %0 = load %"class.boost::detail::edge_desc_impl"*** %__i.addr, align 4
  %1 = load %"class.boost::detail::edge_desc_impl"** %0, align 4
  store %"class.boost::detail::edge_desc_impl"* %1, %"class.boost::detail::edge_desc_impl"** %_M_current, align 4
  ret void
}

define linkonce_odr i32 @_ZN5boost12num_verticesINS_6detail12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS6_EES6_NS_5listSEEES4_S4_S5_S6_S9_S6_SA_E6configENS_23undirected_graph_helperISD_EEEENT_18vertices_size_typeERKNS_15adj_list_helperISG_T0_EE(%"struct.boost::adj_list_helper"* %g_) inlinehint {
entry:
  %g_.addr = alloca %"struct.boost::adj_list_helper"*, align 4
  %g = alloca %"class.boost::adjacency_list"*, align 4
  %tmp = alloca %"class.boost::integer_range", align 4
  store %"struct.boost::adj_list_helper"* %g_, %"struct.boost::adj_list_helper"** %g_.addr, align 4
  %0 = load %"struct.boost::adj_list_helper"** %g_.addr, align 4
  %1 = bitcast %"struct.boost::adj_list_helper"* %0 to %"class.boost::adjacency_list"*
  store %"class.boost::adjacency_list"* %1, %"class.boost::adjacency_list"** %g, align 4
  %2 = load %"class.boost::adjacency_list"** %g, align 4
  %3 = bitcast %"class.boost::adjacency_list"* %2 to %"class.boost::vec_adj_list_impl"*
  call void @_ZNK5boost17vec_adj_list_implINS_14adjacency_listINS_4vecSES2_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS4_EES4_NS_5listSEEENS_6detail12adj_list_genIS9_S2_S2_S3_S4_S7_S4_S8_E6configENS_23undirected_graph_helperISD_EEE10vertex_setEv(%"class.boost::integer_range"* sret %tmp, %"class.boost::vec_adj_list_impl"* %3)
  %4 = bitcast %"class.boost::integer_range"* %tmp to %"class.boost::iterator_range"*
  %call = call i32 @_ZNK5boost14iterator_rangeINS_12range_detail16integer_iteratorIjEEE4sizeEv(%"class.boost::iterator_range"* %4)
  ret i32 %call
}

define linkonce_odr void @_ZNSt6vectorIjSaIjEEC1EjRKjRKS0_(%"class.std::vector.16"* %this, i32 %__n, i32* %__value, %"class.std::allocator.18"* %__a) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::vector.16"*, align 4
  %__n.addr = alloca i32, align 4
  %__value.addr = alloca i32*, align 4
  %__a.addr = alloca %"class.std::allocator.18"*, align 4
  store %"class.std::vector.16"* %this, %"class.std::vector.16"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store i32* %__value, i32** %__value.addr, align 4
  store %"class.std::allocator.18"* %__a, %"class.std::allocator.18"** %__a.addr, align 4
  %this1 = load %"class.std::vector.16"** %this.addr
  %0 = load i32* %__n.addr, align 4
  %1 = load i32** %__value.addr
  %2 = load %"class.std::allocator.18"** %__a.addr
  call void @_ZNSt6vectorIjSaIjEEC2EjRKjRKS0_(%"class.std::vector.16"* %this1, i32 %0, i32* %1, %"class.std::allocator.18"* %2)
  ret void
}

define linkonce_odr void @_ZNSaIjEC1Ev(%"class.std::allocator.18"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator.18"*, align 4
  store %"class.std::allocator.18"* %this, %"class.std::allocator.18"** %this.addr, align 4
  %this1 = load %"class.std::allocator.18"** %this.addr
  call void @_ZNSaIjEC2Ev(%"class.std::allocator.18"* %this1) nounwind
  ret void
}

define linkonce_odr void @_ZNSaIjED1Ev(%"class.std::allocator.18"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator.18"*, align 4
  store %"class.std::allocator.18"* %this, %"class.std::allocator.18"** %this.addr, align 4
  %this1 = load %"class.std::allocator.18"** %this.addr
  call void @_ZNSaIjED2Ev(%"class.std::allocator.18"* %this1) nounwind
  ret void
}

define linkonce_odr void @_ZN5boost6detail16kruskal_mst_implINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEESt20back_insert_iteratorISt6vectorINS0_14edge_desc_implINS_14undirected_tagEjEESaISF_EEENS_21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSC_IjSaIjEEEENS_26vec_adj_list_vertex_id_mapIS5_jEEjRjEEST_NS_26adj_list_edge_property_mapISE_iRKijKS8_S7_EEEEvRKT_T0_T1_T2_T3_(%"class.boost::adjacency_list"* %G, %"class.std::back_insert_iterator"* byval align 4 %spanning_tree_edges, %"class.boost::iterator_property_map"* byval align 4 %rank, %"class.boost::iterator_property_map"* byval align 4 %parent, %"struct.boost::adj_list_edge_property_map.24"* byval align 4 %weight) {
entry:
  %G.addr = alloca %"class.boost::adjacency_list"*, align 4
  %dset = alloca %"class.boost::disjoint_sets", align 4
  %agg.tmp = alloca %"class.boost::iterator_property_map", align 4
  %agg.tmp1 = alloca %"class.boost::iterator_property_map", align 4
  %ui = alloca %"class.boost::range_detail::integer_iterator", align 4
  %uiend = alloca %"class.boost::range_detail::integer_iterator", align 4
  %tmp = alloca %"class.boost::tuples::tuple.27", align 4
  %ref.tmp = alloca %"struct.std::pair.30", align 4
  %wl = alloca %"class.boost::indirect_cmp", align 4
  %ref.tmp7 = alloca %"struct.std::greater", align 1
  %Q = alloca %"class.std::priority_queue", align 4
  %ref.tmp9 = alloca %"class.std::vector.3", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %ei = alloca %"struct.boost::detail::undirected_edge_iter", align 4
  %eiend = alloca %"struct.boost::detail::undirected_edge_iter", align 4
  %tmp16 = alloca %"class.boost::tuples::tuple", align 4
  %ref.tmp18 = alloca %"struct.std::pair.10", align 4
  %ref.tmp26 = alloca %"class.boost::detail::edge_desc_impl", align 4
  %e = alloca %"class.boost::detail::edge_desc_impl", align 4
  %u = alloca i32, align 4
  %v = alloca i32, align 4
  %tmp51 = alloca %"class.std::back_insert_iterator", align 4
  store %"class.boost::adjacency_list"* %G, %"class.boost::adjacency_list"** %G.addr, align 4
  %0 = load %"class.boost::adjacency_list"** %G.addr, align 4
  %1 = bitcast %"class.boost::adjacency_list"* %0 to %"struct.boost::adj_list_helper"*
  %call = call i32 @_ZN5boost12num_verticesINS_6detail12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS6_EES6_NS_5listSEEES4_S4_S5_S6_S9_S6_SA_E6configENS_23undirected_graph_helperISD_EEEENT_18vertices_size_typeERKNS_15adj_list_helperISG_T0_EE(%"struct.boost::adj_list_helper"* %1)
  %cmp = icmp eq i32 %call, 0
  br i1 %cmp, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  br label %return

if.end:                                           ; preds = %entry
  %2 = bitcast %"class.boost::iterator_property_map"* %agg.tmp to i8*
  %3 = bitcast %"class.boost::iterator_property_map"* %rank to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %2, i8* %3, i32 8, i32 4, i1 false)
  %4 = bitcast %"class.boost::iterator_property_map"* %agg.tmp1 to i8*
  %5 = bitcast %"class.boost::iterator_property_map"* %parent to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %5, i32 8, i32 4, i1 false)
  call void @_ZN5boost13disjoint_setsINS_21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEESD_NS_31find_with_full_path_compressionEEC1ESD_SD_(%"class.boost::disjoint_sets"* %dset, %"class.boost::iterator_property_map"* byval align 4 %agg.tmp, %"class.boost::iterator_property_map"* byval align 4 %agg.tmp1)
  call void @_ZN5boost12range_detail16integer_iteratorIjEC1Ev(%"class.boost::range_detail::integer_iterator"* %ui)
  call void @_ZN5boost12range_detail16integer_iteratorIjEC1Ev(%"class.boost::range_detail::integer_iterator"* %uiend)
  call void @_ZN5boost6tuples3tieINS_12range_detail16integer_iteratorIjEES4_EENS0_6detail10tie_mapperIT_T0_vvvvvvvvE4typeERS7_RS8_(%"class.boost::tuples::tuple.27"* sret %tmp, %"class.boost::range_detail::integer_iterator"* %ui, %"class.boost::range_detail::integer_iterator"* %uiend)
  %6 = load %"class.boost::adjacency_list"** %G.addr, align 4
  %7 = bitcast %"class.boost::adjacency_list"* %6 to %"struct.boost::adj_list_helper"*
  call void @_ZN5boost8verticesINS_6detail12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS6_EES6_NS_5listSEEES4_S4_S5_S6_S9_S6_SA_E6configENS_23undirected_graph_helperISD_EEEESt4pairINT_15vertex_iteratorESI_ERKNS_15adj_list_helperISH_T0_EE(%"struct.std::pair.30"* sret %ref.tmp, %"struct.boost::adj_list_helper"* %7)
  %call2 = call %"class.boost::tuples::tuple.27"* @_ZN5boost6tuples5tupleIRNS_12range_detail16integer_iteratorIjEES5_NS0_9null_typeES6_S6_S6_S6_S6_S6_S6_EaSIS4_S4_EERS7_RKSt4pairIT_T0_E(%"class.boost::tuples::tuple.27"* %tmp, %"struct.std::pair.30"* %ref.tmp)
  br label %for.cond

for.cond:                                         ; preds = %for.inc, %if.end
  %8 = bitcast %"class.boost::range_detail::integer_iterator"* %ui to %"class.boost::iterator_facade.26"*
  %9 = bitcast %"class.boost::range_detail::integer_iterator"* %uiend to %"class.boost::iterator_facade.26"*
  %call3 = call zeroext i1 @_ZN5boostneINS_12range_detail16integer_iteratorIjEEjNS_27random_access_traversal_tagEjiS3_jS4_jiEENS_6detail23enable_if_interoperableIT_T4_NS_3mpl6apply2INS5_12always_bool2ES7_S8_E4typeEE4typeERKNS_15iterator_facadeIS7_T0_T1_T2_T3_EERKNSG_IS8_T5_T6_T7_T8_EE(%"class.boost::iterator_facade.26"* %8, %"class.boost::iterator_facade.26"* %9)
  br i1 %call3, label %for.body, label %for.end

for.body:                                         ; preds = %for.cond
  %10 = bitcast %"class.boost::range_detail::integer_iterator"* %ui to %"class.boost::iterator_facade.26"*
  %call4 = call i32 @_ZNK5boost15iterator_facadeINS_12range_detail16integer_iteratorIjEEjNS_27random_access_traversal_tagEjiEdeEv(%"class.boost::iterator_facade.26"* %10)
  call void @_ZN5boost13disjoint_setsINS_21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEESD_NS_31find_with_full_path_compressionEE8make_setIjEEvT_(%"class.boost::disjoint_sets"* %dset, i32 %call4)
  br label %for.inc

for.inc:                                          ; preds = %for.body
  %11 = bitcast %"class.boost::range_detail::integer_iterator"* %ui to %"class.boost::iterator_facade.26"*
  %call5 = call %"class.boost::range_detail::integer_iterator"* @_ZN5boost15iterator_facadeINS_12range_detail16integer_iteratorIjEEjNS_27random_access_traversal_tagEjiEppEv(%"class.boost::iterator_facade.26"* %11)
  br label %for.cond

for.end:                                          ; preds = %for.cond
  call void @_ZN5boost12indirect_cmpINS_26adj_list_edge_property_mapINS_14undirected_tagEiRKijKNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEES6_EESt7greaterIiEEC1ERKSA_RKSC_(%"class.boost::indirect_cmp"* %wl, %"struct.boost::adj_list_edge_property_map.24"* %weight, %"struct.std::greater"* %ref.tmp7)
  call void @_ZNSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EEC1Ev(%"class.std::vector.3"* %ref.tmp9)
  invoke void @_ZNSt14priority_queueIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESt6vectorIS4_SaIS4_EENS0_12indirect_cmpINS0_26adj_list_edge_property_mapIS3_iRKijKNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEESD_EESt7greaterIiEEEEC1ERKSK_RKS7_(%"class.std::priority_queue"* %Q, %"class.boost::indirect_cmp"* %wl, %"class.std::vector.3"* %ref.tmp9)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %for.end
  call void @_ZNSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EED1Ev(%"class.std::vector.3"* %ref.tmp9)
  invoke void @_ZN5boost6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS0_14edge_desc_implINS_14undirected_tagEjEEiEC1Ev(%"struct.boost::detail::undirected_edge_iter"* %ei)
          to label %invoke.cont13 unwind label %lpad12

invoke.cont13:                                    ; preds = %invoke.cont
  invoke void @_ZN5boost6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS0_14edge_desc_implINS_14undirected_tagEjEEiEC1Ev(%"struct.boost::detail::undirected_edge_iter"* %eiend)
          to label %invoke.cont15 unwind label %lpad12

invoke.cont15:                                    ; preds = %invoke.cont13
  invoke void @_ZN5boost6tuples3tieINS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS2_14edge_desc_implINS_14undirected_tagEjEEiEESF_EENS0_6detail10tie_mapperIT_T0_vvvvvvvvE4typeERSI_RSJ_(%"class.boost::tuples::tuple"* sret %tmp16, %"struct.boost::detail::undirected_edge_iter"* %ei, %"struct.boost::detail::undirected_edge_iter"* %eiend)
          to label %invoke.cont17 unwind label %lpad12

invoke.cont17:                                    ; preds = %invoke.cont15
  %12 = load %"class.boost::adjacency_list"** %G.addr, align 4
  %13 = bitcast %"class.boost::adjacency_list"* %12 to %"struct.boost::undirected_graph_helper"*
  invoke void @_ZN5boost5edgesINS_6detail12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS6_EES6_NS_5listSEEES4_S4_S5_S6_S9_S6_SA_E6configEEESt4pairINT_13edge_iteratorESG_ERKNS_23undirected_graph_helperISF_EE(%"struct.std::pair.10"* sret %ref.tmp18, %"struct.boost::undirected_graph_helper"* %13)
          to label %invoke.cont19 unwind label %lpad12

invoke.cont19:                                    ; preds = %invoke.cont17
  %call21 = invoke %"class.boost::tuples::tuple"* @_ZN5boost6tuples5tupleIRNS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS2_14edge_desc_implINS_14undirected_tagEjEEiEESG_NS0_9null_typeESH_SH_SH_SH_SH_SH_SH_EaSISF_SF_EERSI_RKSt4pairIT_T0_E(%"class.boost::tuples::tuple"* %tmp16, %"struct.std::pair.10"* %ref.tmp18)
          to label %invoke.cont20 unwind label %lpad12

invoke.cont20:                                    ; preds = %invoke.cont19
  br label %for.cond22

for.cond22:                                       ; preds = %invoke.cont30, %invoke.cont20
  %14 = bitcast %"struct.boost::detail::undirected_edge_iter"* %ei to %"class.boost::iterator_facade"*
  %15 = bitcast %"struct.boost::detail::undirected_edge_iter"* %eiend to %"class.boost::iterator_facade"*
  %call24 = invoke zeroext i1 @_ZN5boostneINS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS1_14edge_desc_implINS_14undirected_tagEjEEiEESD_NS_27bidirectional_traversal_tagESD_iSE_SD_SF_SD_iEENS1_23enable_if_interoperableIT_T4_NS_3mpl6apply2INS1_12always_bool2ESH_SI_E4typeEE4typeERKNS_15iterator_facadeISH_T0_T1_T2_T3_EERKNSQ_ISI_T5_T6_T7_T8_EE(%"class.boost::iterator_facade"* %14, %"class.boost::iterator_facade"* %15)
          to label %invoke.cont23 unwind label %lpad12

invoke.cont23:                                    ; preds = %for.cond22
  br i1 %call24, label %for.body25, label %for.end32

for.body25:                                       ; preds = %invoke.cont23
  %16 = bitcast %"struct.boost::detail::undirected_edge_iter"* %ei to %"class.boost::iterator_facade"*
  invoke void @_ZNK5boost15iterator_facadeINS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS1_14edge_desc_implINS_14undirected_tagEjEEiEESD_NS_27bidirectional_traversal_tagESD_iEdeEv(%"class.boost::detail::edge_desc_impl"* sret %ref.tmp26, %"class.boost::iterator_facade"* %16)
          to label %invoke.cont27 unwind label %lpad12

invoke.cont27:                                    ; preds = %for.body25
  invoke void @_ZNSt14priority_queueIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESt6vectorIS4_SaIS4_EENS0_12indirect_cmpINS0_26adj_list_edge_property_mapIS3_iRKijKNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEESD_EESt7greaterIiEEEE4pushERKS4_(%"class.std::priority_queue"* %Q, %"class.boost::detail::edge_desc_impl"* %ref.tmp26)
          to label %invoke.cont28 unwind label %lpad12

invoke.cont28:                                    ; preds = %invoke.cont27
  br label %for.inc29

for.inc29:                                        ; preds = %invoke.cont28
  %17 = bitcast %"struct.boost::detail::undirected_edge_iter"* %ei to %"class.boost::iterator_facade"*
  %call31 = invoke %"struct.boost::detail::undirected_edge_iter"* @_ZN5boost15iterator_facadeINS_6detail20undirected_edge_iterISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEENS1_14edge_desc_implINS_14undirected_tagEjEEiEESD_NS_27bidirectional_traversal_tagESD_iEppEv(%"class.boost::iterator_facade"* %17)
          to label %invoke.cont30 unwind label %lpad12

invoke.cont30:                                    ; preds = %for.inc29
  br label %for.cond22

lpad:                                             ; preds = %for.end
  %18 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %19 = extractvalue { i8*, i32 } %18, 0
  store i8* %19, i8** %exn.slot
  %20 = extractvalue { i8*, i32 } %18, 1
  store i32 %20, i32* %ehselector.slot
  invoke void @_ZNSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EED1Ev(%"class.std::vector.3"* %ref.tmp9)
          to label %invoke.cont10 unwind label %terminate.lpad

invoke.cont10:                                    ; preds = %lpad
  br label %eh.resume

lpad12:                                           ; preds = %invoke.cont55, %invoke.cont53, %invoke.cont52, %if.then50, %invoke.cont45, %invoke.cont42, %invoke.cont40, %invoke.cont38, %invoke.cont36, %while.body, %while.cond, %for.inc29, %invoke.cont27, %for.body25, %for.cond22, %invoke.cont19, %invoke.cont17, %invoke.cont15, %invoke.cont13, %invoke.cont
  %21 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %22 = extractvalue { i8*, i32 } %21, 0
  store i8* %22, i8** %exn.slot
  %23 = extractvalue { i8*, i32 } %21, 1
  store i32 %23, i32* %ehselector.slot
  invoke void @_ZNSt14priority_queueIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESt6vectorIS4_SaIS4_EENS0_12indirect_cmpINS0_26adj_list_edge_property_mapIS3_iRKijKNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEESD_EESt7greaterIiEEEED1Ev(%"class.std::priority_queue"* %Q)
          to label %invoke.cont59 unwind label %terminate.lpad

for.end32:                                        ; preds = %invoke.cont23
  br label %while.cond

while.cond:                                       ; preds = %if.end58, %for.end32
  %call34 = invoke zeroext i1 @_ZNKSt14priority_queueIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESt6vectorIS4_SaIS4_EENS0_12indirect_cmpINS0_26adj_list_edge_property_mapIS3_iRKijKNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEESD_EESt7greaterIiEEEE5emptyEv(%"class.std::priority_queue"* %Q)
          to label %invoke.cont33 unwind label %lpad12

invoke.cont33:                                    ; preds = %while.cond
  %lnot = xor i1 %call34, true
  br i1 %lnot, label %while.body, label %while.end

while.body:                                       ; preds = %invoke.cont33
  %call37 = invoke %"class.boost::detail::edge_desc_impl"* @_ZNKSt14priority_queueIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESt6vectorIS4_SaIS4_EENS0_12indirect_cmpINS0_26adj_list_edge_property_mapIS3_iRKijKNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEESD_EESt7greaterIiEEEE3topEv(%"class.std::priority_queue"* %Q)
          to label %invoke.cont36 unwind label %lpad12

invoke.cont36:                                    ; preds = %while.body
  %24 = bitcast %"class.boost::detail::edge_desc_impl"* %e to i8*
  %25 = bitcast %"class.boost::detail::edge_desc_impl"* %call37 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %24, i8* %25, i32 12, i32 4, i1 false)
  invoke void @_ZNSt14priority_queueIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESt6vectorIS4_SaIS4_EENS0_12indirect_cmpINS0_26adj_list_edge_property_mapIS3_iRKijKNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEESD_EESt7greaterIiEEEE3popEv(%"class.std::priority_queue"* %Q)
          to label %invoke.cont38 unwind label %lpad12

invoke.cont38:                                    ; preds = %invoke.cont36
  %26 = bitcast %"class.boost::detail::edge_desc_impl"* %e to %"struct.boost::detail::edge_base"*
  %27 = load %"class.boost::adjacency_list"** %G.addr, align 4
  %call41 = invoke i32 @_ZN5boost6sourceINS_14undirected_tagEjNS_4vecSES2_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS4_EES4_NS_5listSEEET0_RKNS_6detail9edge_baseIT_S9_EERKNS_14adjacency_listIT1_T2_T3_T4_T5_T6_T7_EE(%"struct.boost::detail::edge_base"* %26, %"class.boost::adjacency_list"* %27)
          to label %invoke.cont40 unwind label %lpad12

invoke.cont40:                                    ; preds = %invoke.cont38
  %call43 = invoke i32 @_ZN5boost13disjoint_setsINS_21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEESD_NS_31find_with_full_path_compressionEE8find_setIjEET_SH_(%"class.boost::disjoint_sets"* %dset, i32 %call41)
          to label %invoke.cont42 unwind label %lpad12

invoke.cont42:                                    ; preds = %invoke.cont40
  store i32 %call43, i32* %u, align 4
  %28 = bitcast %"class.boost::detail::edge_desc_impl"* %e to %"struct.boost::detail::edge_base"*
  %29 = load %"class.boost::adjacency_list"** %G.addr, align 4
  %call46 = invoke i32 @_ZN5boost6targetINS_14undirected_tagEjNS_4vecSES2_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS4_EES4_NS_5listSEEET0_RKNS_6detail9edge_baseIT_S9_EERKNS_14adjacency_listIT1_T2_T3_T4_T5_T6_T7_EE(%"struct.boost::detail::edge_base"* %28, %"class.boost::adjacency_list"* %29)
          to label %invoke.cont45 unwind label %lpad12

invoke.cont45:                                    ; preds = %invoke.cont42
  %call48 = invoke i32 @_ZN5boost13disjoint_setsINS_21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEESD_NS_31find_with_full_path_compressionEE8find_setIjEET_SH_(%"class.boost::disjoint_sets"* %dset, i32 %call46)
          to label %invoke.cont47 unwind label %lpad12

invoke.cont47:                                    ; preds = %invoke.cont45
  store i32 %call48, i32* %v, align 4
  %30 = load i32* %u, align 4
  %31 = load i32* %v, align 4
  %cmp49 = icmp ne i32 %30, %31
  br i1 %cmp49, label %if.then50, label %if.end58

if.then50:                                        ; preds = %invoke.cont47
  invoke void @_ZNSt20back_insert_iteratorISt6vectorIN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESaIS5_EEEppEi(%"class.std::back_insert_iterator"* sret %tmp51, %"class.std::back_insert_iterator"* %spanning_tree_edges, i32 0)
          to label %invoke.cont52 unwind label %lpad12

invoke.cont52:                                    ; preds = %if.then50
  %call54 = invoke %"class.std::back_insert_iterator"* @_ZNSt20back_insert_iteratorISt6vectorIN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESaIS5_EEEdeEv(%"class.std::back_insert_iterator"* %tmp51)
          to label %invoke.cont53 unwind label %lpad12

invoke.cont53:                                    ; preds = %invoke.cont52
  %call56 = invoke %"class.std::back_insert_iterator"* @_ZNSt20back_insert_iteratorISt6vectorIN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESaIS5_EEEaSERKS5_(%"class.std::back_insert_iterator"* %call54, %"class.boost::detail::edge_desc_impl"* %e)
          to label %invoke.cont55 unwind label %lpad12

invoke.cont55:                                    ; preds = %invoke.cont53
  %32 = load i32* %u, align 4
  %33 = load i32* %v, align 4
  invoke void @_ZN5boost13disjoint_setsINS_21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEESD_NS_31find_with_full_path_compressionEE4linkIjEEvT_SH_(%"class.boost::disjoint_sets"* %dset, i32 %32, i32 %33)
          to label %invoke.cont57 unwind label %lpad12

invoke.cont57:                                    ; preds = %invoke.cont55
  br label %if.end58

if.end58:                                         ; preds = %invoke.cont57, %invoke.cont47
  br label %while.cond

while.end:                                        ; preds = %invoke.cont33
  call void @_ZNSt14priority_queueIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESt6vectorIS4_SaIS4_EENS0_12indirect_cmpINS0_26adj_list_edge_property_mapIS3_iRKijKNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEESD_EESt7greaterIiEEEED1Ev(%"class.std::priority_queue"* %Q)
  br label %return

return:                                           ; preds = %while.end, %if.then
  ret void

invoke.cont59:                                    ; preds = %lpad12
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont59, %invoke.cont10
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val60 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val60

terminate.lpad:                                   ; preds = %lpad12, %lpad
  %34 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZN5boost26make_iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEEjNS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEEENS_21iterator_property_mapIT_T1_T0_RSE_EESC_SD_SE_(%"class.boost::iterator_property_map"* noalias sret %agg.result, %"class.__gnu_cxx::__normal_iterator.22"* byval align 4 %iter, i32) inlinehint {
entry:
  %id = alloca %"struct.boost::vec_adj_list_vertex_id_map", align 1
  %.addr = alloca i32, align 4
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator.22", align 4
  store i32 %0, i32* %.addr, align 4
  call void @_ZN5boost17function_requiresINS_27RandomAccessIteratorConceptIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEEEEEEvPT_(%"struct.boost::RandomAccessIteratorConcept"* null)
  %1 = bitcast %"class.__gnu_cxx::__normal_iterator.22"* %agg.tmp to i8*
  %2 = bitcast %"class.__gnu_cxx::__normal_iterator.22"* %iter to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1, i8* %2, i32 4, i32 4, i1 false)
  call void @_ZN5boost21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEC1ES7_RKSA_(%"class.boost::iterator_property_map"* %agg.result, %"class.__gnu_cxx::__normal_iterator.22"* byval align 4 %agg.tmp, %"struct.boost::vec_adj_list_vertex_id_map"* %id)
  ret void
}

define linkonce_odr void @_ZNSt6vectorIjSaIjEE5beginEv(%"class.__gnu_cxx::__normal_iterator.22"* noalias sret %agg.result, %"class.std::vector.16"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.16"*, align 4
  store %"class.std::vector.16"* %this, %"class.std::vector.16"** %this.addr, align 4
  %this1 = load %"class.std::vector.16"** %this.addr
  %0 = bitcast %"class.std::vector.16"* %this1 to %"struct.std::_Vector_base.17"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.17"* %0, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl, i32 0, i32 0
  call void @_ZN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEC1ERKS1_(%"class.__gnu_cxx::__normal_iterator.22"* %agg.result, i32** %_M_start)
  ret void
}

define linkonce_odr void @_ZN5boost3getINS_6detail12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS6_EES6_NS_5listSEEES4_S4_S5_S6_S9_S6_SA_E6configENS_23undirected_graph_helperISD_EENS_14vertex_index_tEEENS_12property_mapINT_10graph_typeET1_E10const_typeESK_RKNS_15adj_list_helperISI_T0_EE(%"struct.boost::vec_adj_list_vertex_id_map"* noalias sret %agg.result, i32 %p, %"struct.boost::adj_list_helper"* %g) inlinehint {
entry:
  %p.addr = alloca i32, align 4
  %g.addr = alloca %"struct.boost::adj_list_helper"*, align 4
  %agg.tmp = alloca %"struct.boost::vertex_property_tag", align 1
  store i32 %p, i32* %p.addr, align 4
  store %"struct.boost::adj_list_helper"* %g, %"struct.boost::adj_list_helper"** %g.addr, align 4
  %0 = load %"struct.boost::adj_list_helper"** %g.addr, align 4
  %1 = load i32* %p.addr, align 4
  call void @_ZN5boost6detail12get_dispatchINS0_12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS6_EES6_NS_5listSEEES4_S4_S5_S6_S9_S6_SA_E6configENS_23undirected_graph_helperISD_EENS_14vertex_index_tEEENS_12property_mapINT_10graph_typeET1_E10const_typeERKNS_15adj_list_helperISI_T0_EESK_NS_19vertex_property_tagE(%"struct.boost::vec_adj_list_vertex_id_map"* sret %agg.result, %"struct.boost::adj_list_helper"* %0, i32 %1)
  ret void
}

define linkonce_odr i32* @_ZNSt6vectorIjSaIjEEixEj(%"class.std::vector.16"* %this, i32 %__n) nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::vector.16"*, align 4
  %__n.addr = alloca i32, align 4
  store %"class.std::vector.16"* %this, %"class.std::vector.16"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  %this1 = load %"class.std::vector.16"** %this.addr
  %0 = bitcast %"class.std::vector.16"* %this1 to %"struct.std::_Vector_base.17"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.17"* %0, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl, i32 0, i32 0
  %1 = load i32** %_M_start, align 4
  %2 = load i32* %__n.addr, align 4
  %add.ptr = getelementptr inbounds i32* %1, i32 %2
  ret i32* %add.ptr
}

define linkonce_odr void @_ZN5boost3getINS_6detail12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS6_EES6_NS_5listSEEES4_S4_S5_S6_S9_S6_SA_E6configENS_23undirected_graph_helperISD_EES8_EENS_12property_mapINT_10graph_typeET1_E10const_typeESJ_RKNS_15adj_list_helperISH_T0_EE(%"struct.boost::adj_list_edge_property_map.24"* noalias sret %agg.result, i32 %p, %"struct.boost::adj_list_helper"* %g) inlinehint {
entry:
  %p.addr = alloca i32, align 4
  %g.addr = alloca %"struct.boost::adj_list_helper"*, align 4
  %agg.tmp = alloca %"struct.boost::edge_property_tag", align 1
  store i32 %p, i32* %p.addr, align 4
  store %"struct.boost::adj_list_helper"* %g, %"struct.boost::adj_list_helper"** %g.addr, align 4
  %0 = load %"struct.boost::adj_list_helper"** %g.addr, align 4
  %1 = load i32* %p.addr, align 4
  call void @_ZN5boost6detail12get_dispatchINS0_12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS6_EES6_NS_5listSEEES4_S4_S5_S6_S9_S6_SA_E6configENS_23undirected_graph_helperISD_EES8_EENS_12property_mapINT_10graph_typeET1_E10const_typeERKNS_15adj_list_helperISH_T0_EESJ_NS_17edge_property_tagE(%"struct.boost::adj_list_edge_property_map.24"* sret %agg.result, %"struct.boost::adj_list_helper"* %0, i32 %1)
  ret void
}

define linkonce_odr void @_ZNSt6vectorIjSaIjEED1Ev(%"class.std::vector.16"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::vector.16"*, align 4
  store %"class.std::vector.16"* %this, %"class.std::vector.16"** %this.addr, align 4
  %this1 = load %"class.std::vector.16"** %this.addr
  call void @_ZNSt6vectorIjSaIjEED2Ev(%"class.std::vector.16"* %this1)
  ret void
}

define linkonce_odr void @_ZNSt6vectorIjSaIjEED2Ev(%"class.std::vector.16"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::vector.16"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.std::vector.16"* %this, %"class.std::vector.16"** %this.addr, align 4
  %this1 = load %"class.std::vector.16"** %this.addr
  %0 = bitcast %"class.std::vector.16"* %this1 to %"struct.std::_Vector_base.17"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.17"* %0, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl, i32 0, i32 0
  %1 = load i32** %_M_start, align 4
  %2 = bitcast %"class.std::vector.16"* %this1 to %"struct.std::_Vector_base.17"*
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base.17"* %2, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl2, i32 0, i32 1
  %3 = load i32** %_M_finish, align 4
  %4 = bitcast %"class.std::vector.16"* %this1 to %"struct.std::_Vector_base.17"*
  %call = invoke %"class.std::allocator.18"* @_ZNSt12_Vector_baseIjSaIjEE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.17"* %4)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  invoke void @_ZSt8_DestroyIPjjEvT_S1_RSaIT0_E(i32* %1, i32* %3, %"class.std::allocator.18"* %call)
          to label %invoke.cont3 unwind label %lpad

invoke.cont3:                                     ; preds = %invoke.cont
  %5 = bitcast %"class.std::vector.16"* %this1 to %"struct.std::_Vector_base.17"*
  call void @_ZNSt12_Vector_baseIjSaIjEED2Ev(%"struct.std::_Vector_base.17"* %5)
  ret void

lpad:                                             ; preds = %invoke.cont, %entry
  %6 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %7 = extractvalue { i8*, i32 } %6, 0
  store i8* %7, i8** %exn.slot
  %8 = extractvalue { i8*, i32 } %6, 1
  store i32 %8, i32* %ehselector.slot
  %9 = bitcast %"class.std::vector.16"* %this1 to %"struct.std::_Vector_base.17"*
  invoke void @_ZNSt12_Vector_baseIjSaIjEED2Ev(%"struct.std::_Vector_base.17"* %9)
          to label %invoke.cont4 unwind label %terminate.lpad

invoke.cont4:                                     ; preds = %lpad
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont4
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val5 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val5

terminate.lpad:                                   ; preds = %lpad
  %10 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZSt8_DestroyIPjjEvT_S1_RSaIT0_E(i32* %__first, i32* %__last, %"class.std::allocator.18"*) inlinehint {
entry:
  %__first.addr = alloca i32*, align 4
  %__last.addr = alloca i32*, align 4
  %.addr = alloca %"class.std::allocator.18"*, align 4
  store i32* %__first, i32** %__first.addr, align 4
  store i32* %__last, i32** %__last.addr, align 4
  store %"class.std::allocator.18"* %0, %"class.std::allocator.18"** %.addr, align 4
  %1 = load i32** %__first.addr, align 4
  %2 = load i32** %__last.addr, align 4
  call void @_ZSt8_DestroyIPjEvT_S1_(i32* %1, i32* %2)
  ret void
}

define linkonce_odr %"class.std::allocator.18"* @_ZNSt12_Vector_baseIjSaIjEE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.17"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base.17"*, align 4
  store %"struct.std::_Vector_base.17"* %this, %"struct.std::_Vector_base.17"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base.17"** %this.addr
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.17"* %this1, i32 0, i32 0
  %0 = bitcast %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl to %"class.std::allocator.18"*
  ret %"class.std::allocator.18"* %0
}

define linkonce_odr void @_ZNSt12_Vector_baseIjSaIjEED2Ev(%"struct.std::_Vector_base.17"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base.17"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"struct.std::_Vector_base.17"* %this, %"struct.std::_Vector_base.17"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base.17"** %this.addr
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.17"* %this1, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl, i32 0, i32 0
  %0 = load i32** %_M_start, align 4
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base.17"* %this1, i32 0, i32 0
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl2, i32 0, i32 2
  %1 = load i32** %_M_end_of_storage, align 4
  %_M_impl3 = getelementptr inbounds %"struct.std::_Vector_base.17"* %this1, i32 0, i32 0
  %_M_start4 = getelementptr inbounds %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl3, i32 0, i32 0
  %2 = load i32** %_M_start4, align 4
  %sub.ptr.lhs.cast = ptrtoint i32* %1 to i32
  %sub.ptr.rhs.cast = ptrtoint i32* %2 to i32
  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  %sub.ptr.div = sdiv exact i32 %sub.ptr.sub, 4
  invoke void @_ZNSt12_Vector_baseIjSaIjEE13_M_deallocateEPjj(%"struct.std::_Vector_base.17"* %this1, i32* %0, i32 %sub.ptr.div)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %_M_impl5 = getelementptr inbounds %"struct.std::_Vector_base.17"* %this1, i32 0, i32 0
  call void @_ZNSt12_Vector_baseIjSaIjEE12_Vector_implD1Ev(%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl5) nounwind
  ret void

lpad:                                             ; preds = %entry
  %3 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %4 = extractvalue { i8*, i32 } %3, 0
  store i8* %4, i8** %exn.slot
  %5 = extractvalue { i8*, i32 } %3, 1
  store i32 %5, i32* %ehselector.slot
  %_M_impl6 = getelementptr inbounds %"struct.std::_Vector_base.17"* %this1, i32 0, i32 0
  call void @_ZNSt12_Vector_baseIjSaIjEE12_Vector_implD1Ev(%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl6) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val7 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val7
}

define linkonce_odr void @_ZNSt12_Vector_baseIjSaIjEE13_M_deallocateEPjj(%"struct.std::_Vector_base.17"* %this, i32* %__p, i32 %__n) align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base.17"*, align 4
  %__p.addr = alloca i32*, align 4
  %__n.addr = alloca i32, align 4
  store %"struct.std::_Vector_base.17"* %this, %"struct.std::_Vector_base.17"** %this.addr, align 4
  store i32* %__p, i32** %__p.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  %this1 = load %"struct.std::_Vector_base.17"** %this.addr
  %0 = load i32** %__p.addr, align 4
  %tobool = icmp ne i32* %0, null
  br i1 %tobool, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.17"* %this1, i32 0, i32 0
  %1 = bitcast %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl to %"class.__gnu_cxx::new_allocator.19"*
  %2 = load i32** %__p.addr, align 4
  %3 = load i32* %__n.addr, align 4
  call void @_ZN9__gnu_cxx13new_allocatorIjE10deallocateEPjj(%"class.__gnu_cxx::new_allocator.19"* %1, i32* %2, i32 %3)
  br label %if.end

if.end:                                           ; preds = %if.then, %entry
  ret void
}

define linkonce_odr void @_ZNSt12_Vector_baseIjSaIjEE12_Vector_implD1Ev(%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %this) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"*, align 4
  store %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %this, %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"** %this.addr
  call void @_ZNSt12_Vector_baseIjSaIjEE12_Vector_implD2Ev(%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %this1) nounwind
  ret void
}

define linkonce_odr void @_ZNSt12_Vector_baseIjSaIjEE12_Vector_implD2Ev(%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %this) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"*, align 4
  store %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %this, %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"** %this.addr
  %0 = bitcast %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %this1 to %"class.std::allocator.18"*
  call void @_ZNSaIjED2Ev(%"class.std::allocator.18"* %0) nounwind
  ret void
}

define linkonce_odr void @_ZNSaIjED2Ev(%"class.std::allocator.18"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator.18"*, align 4
  store %"class.std::allocator.18"* %this, %"class.std::allocator.18"** %this.addr, align 4
  %this1 = load %"class.std::allocator.18"** %this.addr
  %0 = bitcast %"class.std::allocator.18"* %this1 to %"class.__gnu_cxx::new_allocator.19"*
  call void @_ZN9__gnu_cxx13new_allocatorIjED2Ev(%"class.__gnu_cxx::new_allocator.19"* %0) nounwind
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIjED2Ev(%"class.__gnu_cxx::new_allocator.19"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.19"*, align 4
  store %"class.__gnu_cxx::new_allocator.19"* %this, %"class.__gnu_cxx::new_allocator.19"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.19"** %this.addr
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIjE10deallocateEPjj(%"class.__gnu_cxx::new_allocator.19"* %this, i32* %__p, i32) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.19"*, align 4
  %__p.addr = alloca i32*, align 4
  %.addr = alloca i32, align 4
  store %"class.__gnu_cxx::new_allocator.19"* %this, %"class.__gnu_cxx::new_allocator.19"** %this.addr, align 4
  store i32* %__p, i32** %__p.addr, align 4
  store i32 %0, i32* %.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.19"** %this.addr
  %1 = load i32** %__p.addr, align 4
  %2 = bitcast i32* %1 to i8*
  call void @_ZdlPv(i8* %2) nounwind
  ret void
}

declare void @_ZdlPv(i8*) nounwind

define linkonce_odr void @_ZSt8_DestroyIPjEvT_S1_(i32* %__first, i32* %__last) inlinehint {
entry:
  %__first.addr = alloca i32*, align 4
  %__last.addr = alloca i32*, align 4
  store i32* %__first, i32** %__first.addr, align 4
  store i32* %__last, i32** %__last.addr, align 4
  %0 = load i32** %__first.addr, align 4
  %1 = load i32** %__last.addr, align 4
  call void @_ZNSt12_Destroy_auxILb1EE9__destroyIPjEEvT_S3_(i32* %0, i32* %1)
  ret void
}

define linkonce_odr void @_ZNSt12_Destroy_auxILb1EE9__destroyIPjEEvT_S3_(i32*, i32*) nounwind align 2 {
entry:
  %.addr = alloca i32*, align 4
  %.addr1 = alloca i32*, align 4
  store i32* %0, i32** %.addr, align 4
  store i32* %1, i32** %.addr1, align 4
  ret void
}

define linkonce_odr void @_ZN5boost6detail12get_dispatchINS0_12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS6_EES6_NS_5listSEEES4_S4_S5_S6_S9_S6_SA_E6configENS_23undirected_graph_helperISD_EES8_EENS_12property_mapINT_10graph_typeET1_E10const_typeERKNS_15adj_list_helperISH_T0_EESJ_NS_17edge_property_tagE(%"struct.boost::adj_list_edge_property_map.24"* noalias sret %agg.result, %"struct.boost::adj_list_helper"*, i32 %p) inlinehint {
entry:
  %.addr = alloca %"struct.boost::adj_list_helper"*, align 4
  %p.addr = alloca i32, align 4
  %1 = alloca %"struct.boost::edge_property_tag", align 1
  store %"struct.boost::adj_list_helper"* %0, %"struct.boost::adj_list_helper"** %.addr, align 4
  store i32 %p, i32* %p.addr, align 4
  %2 = load i32* %p.addr, align 4
  call void @_ZN5boost26adj_list_edge_property_mapINS_14undirected_tagEiRKijKNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEES5_EC1ES5_(%"struct.boost::adj_list_edge_property_map.24"* %agg.result, i32 %2)
  ret void
}

define linkonce_odr void @_ZN5boost26adj_list_edge_property_mapINS_14undirected_tagEiRKijKNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEES5_EC1ES5_(%"struct.boost::adj_list_edge_property_map.24"* %this, i32 %tag) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::adj_list_edge_property_map.24"*, align 4
  %tag.addr = alloca i32, align 4
  store %"struct.boost::adj_list_edge_property_map.24"* %this, %"struct.boost::adj_list_edge_property_map.24"** %this.addr, align 4
  store i32 %tag, i32* %tag.addr, align 4
  %this1 = load %"struct.boost::adj_list_edge_property_map.24"** %this.addr
  %0 = load i32* %tag.addr, align 4
  call void @_ZN5boost26adj_list_edge_property_mapINS_14undirected_tagEiRKijKNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEES5_EC2ES5_(%"struct.boost::adj_list_edge_property_map.24"* %this1, i32 %0)
  ret void
}

define linkonce_odr void @_ZN5boost26adj_list_edge_property_mapINS_14undirected_tagEiRKijKNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEES5_EC2ES5_(%"struct.boost::adj_list_edge_property_map.24"* %this, i32 %tag) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::adj_list_edge_property_map.24"*, align 4
  %tag.addr = alloca i32, align 4
  store %"struct.boost::adj_list_edge_property_map.24"* %this, %"struct.boost::adj_list_edge_property_map.24"** %this.addr, align 4
  store i32 %tag, i32* %tag.addr, align 4
  %this1 = load %"struct.boost::adj_list_edge_property_map.24"** %this.addr
  %0 = bitcast %"struct.boost::adj_list_edge_property_map.24"* %this1 to %"struct.boost::put_get_helper.25"*
  %tag2 = getelementptr inbounds %"struct.boost::adj_list_edge_property_map.24"* %this1, i32 0, i32 0
  %1 = load i32* %tag.addr, align 4
  store i32 %1, i32* %tag2, align 4
  ret void
}

define linkonce_odr void @_ZN5boost6detail12get_dispatchINS0_12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS6_EES6_NS_5listSEEES4_S4_S5_S6_S9_S6_SA_E6configENS_23undirected_graph_helperISD_EENS_14vertex_index_tEEENS_12property_mapINT_10graph_typeET1_E10const_typeERKNS_15adj_list_helperISI_T0_EESK_NS_19vertex_property_tagE(%"struct.boost::vec_adj_list_vertex_id_map"* noalias sret %agg.result, %"struct.boost::adj_list_helper"* %g, i32 %p) inlinehint {
entry:
  %g.addr = alloca %"struct.boost::adj_list_helper"*, align 4
  %p.addr = alloca i32, align 4
  %0 = alloca %"struct.boost::vertex_property_tag", align 1
  %cg = alloca %"class.boost::adjacency_list"*, align 4
  %ref.tmp = alloca %"class.boost::adjacency_list"*, align 4
  store %"struct.boost::adj_list_helper"* %g, %"struct.boost::adj_list_helper"** %g.addr, align 4
  store i32 %p, i32* %p.addr, align 4
  %1 = load %"struct.boost::adj_list_helper"** %g.addr, align 4
  %2 = bitcast %"struct.boost::adj_list_helper"* %1 to %"class.boost::adjacency_list"*
  store %"class.boost::adjacency_list"* %2, %"class.boost::adjacency_list"** %cg, align 4
  %3 = load %"class.boost::adjacency_list"** %cg, align 4
  store %"class.boost::adjacency_list"* %3, %"class.boost::adjacency_list"** %ref.tmp, align 4
  %4 = load i32* %p.addr, align 4
  call void @_ZN5boost26vec_adj_list_vertex_id_mapINS_11no_propertyEjEC1IPKNS_14adjacency_listINS_4vecSES5_NS_11undirectedSES1_NS_8propertyINS_13edge_weight_tEiS1_EES1_NS_5listSEEEEERKT_NS_14vertex_index_tE(%"struct.boost::vec_adj_list_vertex_id_map"* %agg.result, %"class.boost::adjacency_list"** %ref.tmp, i32 %4)
  ret void
}

define linkonce_odr void @_ZN5boost26vec_adj_list_vertex_id_mapINS_11no_propertyEjEC1IPKNS_14adjacency_listINS_4vecSES5_NS_11undirectedSES1_NS_8propertyINS_13edge_weight_tEiS1_EES1_NS_5listSEEEEERKT_NS_14vertex_index_tE(%"struct.boost::vec_adj_list_vertex_id_map"* %this, %"class.boost::adjacency_list"**, i32) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::vec_adj_list_vertex_id_map"*, align 4
  %.addr = alloca %"class.boost::adjacency_list"**, align 4
  %.addr1 = alloca i32, align 4
  store %"struct.boost::vec_adj_list_vertex_id_map"* %this, %"struct.boost::vec_adj_list_vertex_id_map"** %this.addr, align 4
  store %"class.boost::adjacency_list"** %0, %"class.boost::adjacency_list"*** %.addr, align 4
  store i32 %1, i32* %.addr1, align 4
  %this2 = load %"struct.boost::vec_adj_list_vertex_id_map"** %this.addr
  %2 = load %"class.boost::adjacency_list"*** %.addr
  %3 = load i32* %.addr1, align 4
  call void @_ZN5boost26vec_adj_list_vertex_id_mapINS_11no_propertyEjEC2IPKNS_14adjacency_listINS_4vecSES5_NS_11undirectedSES1_NS_8propertyINS_13edge_weight_tEiS1_EES1_NS_5listSEEEEERKT_NS_14vertex_index_tE(%"struct.boost::vec_adj_list_vertex_id_map"* %this2, %"class.boost::adjacency_list"** %2, i32 %3)
  ret void
}

define linkonce_odr void @_ZN5boost26vec_adj_list_vertex_id_mapINS_11no_propertyEjEC2IPKNS_14adjacency_listINS_4vecSES5_NS_11undirectedSES1_NS_8propertyINS_13edge_weight_tEiS1_EES1_NS_5listSEEEEERKT_NS_14vertex_index_tE(%"struct.boost::vec_adj_list_vertex_id_map"* %this, %"class.boost::adjacency_list"**, i32) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::vec_adj_list_vertex_id_map"*, align 4
  %.addr = alloca %"class.boost::adjacency_list"**, align 4
  %.addr1 = alloca i32, align 4
  store %"struct.boost::vec_adj_list_vertex_id_map"* %this, %"struct.boost::vec_adj_list_vertex_id_map"** %this.addr, align 4
  store %"class.boost::adjacency_list"** %0, %"class.boost::adjacency_list"*** %.addr, align 4
  store i32 %1, i32* %.addr1, align 4
  %this2 = load %"struct.boost::vec_adj_list_vertex_id_map"** %this.addr
  %2 = bitcast %"struct.boost::vec_adj_list_vertex_id_map"* %this2 to %"struct.boost::put_get_helper.23"*
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEC1ERKS1_(%"class.__gnu_cxx::__normal_iterator.22"* %this, i32** %__i) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.22"*, align 4
  %__i.addr = alloca i32**, align 4
  store %"class.__gnu_cxx::__normal_iterator.22"* %this, %"class.__gnu_cxx::__normal_iterator.22"** %this.addr, align 4
  store i32** %__i, i32*** %__i.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.22"** %this.addr
  %0 = load i32*** %__i.addr
  call void @_ZN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEC2ERKS1_(%"class.__gnu_cxx::__normal_iterator.22"* %this1, i32** %0)
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEC2ERKS1_(%"class.__gnu_cxx::__normal_iterator.22"* %this, i32** %__i) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.22"*, align 4
  %__i.addr = alloca i32**, align 4
  store %"class.__gnu_cxx::__normal_iterator.22"* %this, %"class.__gnu_cxx::__normal_iterator.22"** %this.addr, align 4
  store i32** %__i, i32*** %__i.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.22"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.22"* %this1, i32 0, i32 0
  %0 = load i32*** %__i.addr, align 4
  %1 = load i32** %0, align 4
  store i32* %1, i32** %_M_current, align 4
  ret void
}

define linkonce_odr void @_ZN5boost17function_requiresINS_27RandomAccessIteratorConceptIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEEEEEEvPT_(%"struct.boost::RandomAccessIteratorConcept"*) nounwind inlinehint {
entry:
  %.addr = alloca %"struct.boost::RandomAccessIteratorConcept"*, align 4
  store %"struct.boost::RandomAccessIteratorConcept"* %0, %"struct.boost::RandomAccessIteratorConcept"** %.addr, align 4
  ret void
}

define linkonce_odr void @_ZN5boost21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEC1ES7_RKSA_(%"class.boost::iterator_property_map"* %this, %"class.__gnu_cxx::__normal_iterator.22"* byval align 4 %cc, %"struct.boost::vec_adj_list_vertex_id_map"* %_id) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::iterator_property_map"*, align 4
  %_id.addr = alloca %"struct.boost::vec_adj_list_vertex_id_map"*, align 4
  store %"class.boost::iterator_property_map"* %this, %"class.boost::iterator_property_map"** %this.addr, align 4
  store %"struct.boost::vec_adj_list_vertex_id_map"* %_id, %"struct.boost::vec_adj_list_vertex_id_map"** %_id.addr, align 4
  %this1 = load %"class.boost::iterator_property_map"** %this.addr
  %0 = load %"struct.boost::vec_adj_list_vertex_id_map"** %_id.addr
  call void @_ZN5boost21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEC2ES7_RKSA_(%"class.boost::iterator_property_map"* %this1, %"class.__gnu_cxx::__normal_iterator.22"* byval align 4 %cc, %"struct.boost::vec_adj_list_vertex_id_map"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEC2ES7_RKSA_(%"class.boost::iterator_property_map"* %this, %"class.__gnu_cxx::__normal_iterator.22"* byval align 4 %cc, %"struct.boost::vec_adj_list_vertex_id_map"* %_id) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::iterator_property_map"*, align 4
  %_id.addr = alloca %"struct.boost::vec_adj_list_vertex_id_map"*, align 4
  store %"class.boost::iterator_property_map"* %this, %"class.boost::iterator_property_map"** %this.addr, align 4
  store %"struct.boost::vec_adj_list_vertex_id_map"* %_id, %"struct.boost::vec_adj_list_vertex_id_map"** %_id.addr, align 4
  %this1 = load %"class.boost::iterator_property_map"** %this.addr
  %0 = bitcast %"class.boost::iterator_property_map"* %this1 to %"struct.boost::put_get_helper.21"*
  %iter = getelementptr inbounds %"class.boost::iterator_property_map"* %this1, i32 0, i32 0
  %1 = bitcast %"class.__gnu_cxx::__normal_iterator.22"* %iter to i8*
  %2 = bitcast %"class.__gnu_cxx::__normal_iterator.22"* %cc to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1, i8* %2, i32 4, i32 4, i1 false)
  %index = getelementptr inbounds %"class.boost::iterator_property_map"* %this1, i32 0, i32 1
  %3 = load %"struct.boost::vec_adj_list_vertex_id_map"** %_id.addr, align 4
  ret void
}

define linkonce_odr void @_ZN5boost13disjoint_setsINS_21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEESD_NS_31find_with_full_path_compressionEEC1ESD_SD_(%"class.boost::disjoint_sets"* %this, %"class.boost::iterator_property_map"* byval align 4 %r, %"class.boost::iterator_property_map"* byval align 4 %p) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::disjoint_sets"*, align 4
  store %"class.boost::disjoint_sets"* %this, %"class.boost::disjoint_sets"** %this.addr, align 4
  %this1 = load %"class.boost::disjoint_sets"** %this.addr
  call void @_ZN5boost13disjoint_setsINS_21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEESD_NS_31find_with_full_path_compressionEEC2ESD_SD_(%"class.boost::disjoint_sets"* %this1, %"class.boost::iterator_property_map"* byval align 4 %r, %"class.boost::iterator_property_map"* byval align 4 %p)
  ret void
}

define linkonce_odr void @_ZN5boost12range_detail16integer_iteratorIjEC1Ev(%"class.boost::range_detail::integer_iterator"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  store %"class.boost::range_detail::integer_iterator"* %this, %"class.boost::range_detail::integer_iterator"** %this.addr, align 4
  %this1 = load %"class.boost::range_detail::integer_iterator"** %this.addr
  call void @_ZN5boost12range_detail16integer_iteratorIjEC2Ev(%"class.boost::range_detail::integer_iterator"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost6tuples3tieINS_12range_detail16integer_iteratorIjEES4_EENS0_6detail10tie_mapperIT_T0_vvvvvvvvE4typeERS7_RS8_(%"class.boost::tuples::tuple.27"* noalias sret %agg.result, %"class.boost::range_detail::integer_iterator"* %t0, %"class.boost::range_detail::integer_iterator"* %t1) inlinehint {
entry:
  %t0.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  %t1.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  store %"class.boost::range_detail::integer_iterator"* %t0, %"class.boost::range_detail::integer_iterator"** %t0.addr, align 4
  store %"class.boost::range_detail::integer_iterator"* %t1, %"class.boost::range_detail::integer_iterator"** %t1.addr, align 4
  %0 = load %"class.boost::range_detail::integer_iterator"** %t0.addr, align 4
  %1 = load %"class.boost::range_detail::integer_iterator"** %t1.addr, align 4
  call void @_ZN5boost6tuples5tupleIRNS_12range_detail16integer_iteratorIjEES5_NS0_9null_typeES6_S6_S6_S6_S6_S6_S6_EC1ES5_S5_(%"class.boost::tuples::tuple.27"* %agg.result, %"class.boost::range_detail::integer_iterator"* %0, %"class.boost::range_detail::integer_iterator"* %1)
  ret void
}

define linkonce_odr %"class.boost::tuples::tuple.27"* @_ZN5boost6tuples5tupleIRNS_12range_detail16integer_iteratorIjEES5_NS0_9null_typeES6_S6_S6_S6_S6_S6_S6_EaSIS4_S4_EERS7_RKSt4pairIT_T0_E(%"class.boost::tuples::tuple.27"* %this, %"struct.std::pair.30"* %k) nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::tuples::tuple.27"*, align 4
  %k.addr = alloca %"struct.std::pair.30"*, align 4
  store %"class.boost::tuples::tuple.27"* %this, %"class.boost::tuples::tuple.27"** %this.addr, align 4
  store %"struct.std::pair.30"* %k, %"struct.std::pair.30"** %k.addr, align 4
  %this1 = load %"class.boost::tuples::tuple.27"** %this.addr
  %0 = bitcast %"class.boost::tuples::tuple.27"* %this1 to %"struct.boost::tuples::cons.28"*
  %head = getelementptr inbounds %"struct.boost::tuples::cons.28"* %0, i32 0, i32 0
  %ref = load %"class.boost::range_detail::integer_iterator"** %head, align 4
  %1 = load %"struct.std::pair.30"** %k.addr, align 4
  %first = getelementptr inbounds %"struct.std::pair.30"* %1, i32 0, i32 0
  %2 = bitcast %"class.boost::range_detail::integer_iterator"* %ref to i8*
  %3 = bitcast %"class.boost::range_detail::integer_iterator"* %first to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %2, i8* %3, i32 4, i32 4, i1 false)
  %4 = bitcast %"class.boost::tuples::tuple.27"* %this1 to %"struct.boost::tuples::cons.28"*
  %tail = getelementptr inbounds %"struct.boost::tuples::cons.28"* %4, i32 0, i32 1
  %head2 = getelementptr inbounds %"struct.boost::tuples::cons.29"* %tail, i32 0, i32 0
  %ref3 = load %"class.boost::range_detail::integer_iterator"** %head2, align 4
  %5 = load %"struct.std::pair.30"** %k.addr, align 4
  %second = getelementptr inbounds %"struct.std::pair.30"* %5, i32 0, i32 1
  %6 = bitcast %"class.boost::range_detail::integer_iterator"* %ref3 to i8*
  %7 = bitcast %"class.boost::range_detail::integer_iterator"* %second to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %6, i8* %7, i32 4, i32 4, i1 false)
  ret %"class.boost::tuples::tuple.27"* %this1
}

define linkonce_odr void @_ZN5boost8verticesINS_6detail12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS6_EES6_NS_5listSEEES4_S4_S5_S6_S9_S6_SA_E6configENS_23undirected_graph_helperISD_EEEESt4pairINT_15vertex_iteratorESI_ERKNS_15adj_list_helperISH_T0_EE(%"struct.std::pair.30"* noalias sret %agg.result, %"struct.boost::adj_list_helper"* %g_) inlinehint {
entry:
  %g_.addr = alloca %"struct.boost::adj_list_helper"*, align 4
  %cg = alloca %"class.boost::adjacency_list"*, align 4
  %g = alloca %"class.boost::adjacency_list"*, align 4
  %agg.tmp = alloca %"class.boost::range_detail::integer_iterator", align 4
  %tmp = alloca %"class.boost::integer_range", align 4
  %agg.tmp1 = alloca %"class.boost::range_detail::integer_iterator", align 4
  %tmp2 = alloca %"class.boost::integer_range", align 4
  store %"struct.boost::adj_list_helper"* %g_, %"struct.boost::adj_list_helper"** %g_.addr, align 4
  %0 = load %"struct.boost::adj_list_helper"** %g_.addr, align 4
  %1 = bitcast %"struct.boost::adj_list_helper"* %0 to %"class.boost::adjacency_list"*
  store %"class.boost::adjacency_list"* %1, %"class.boost::adjacency_list"** %cg, align 4
  %2 = load %"class.boost::adjacency_list"** %cg, align 4
  store %"class.boost::adjacency_list"* %2, %"class.boost::adjacency_list"** %g, align 4
  %3 = load %"class.boost::adjacency_list"** %g, align 4
  %4 = bitcast %"class.boost::adjacency_list"* %3 to %"class.boost::vec_adj_list_impl"*
  call void @_ZNK5boost17vec_adj_list_implINS_14adjacency_listINS_4vecSES2_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS4_EES4_NS_5listSEEENS_6detail12adj_list_genIS9_S2_S2_S3_S4_S7_S4_S8_E6configENS_23undirected_graph_helperISD_EEE10vertex_setEv(%"class.boost::integer_range"* sret %tmp, %"class.boost::vec_adj_list_impl"* %4)
  %5 = bitcast %"class.boost::integer_range"* %tmp to %"class.boost::iterator_range"*
  call void @_ZNK5boost14iterator_rangeINS_12range_detail16integer_iteratorIjEEE5beginEv(%"class.boost::range_detail::integer_iterator"* sret %agg.tmp, %"class.boost::iterator_range"* %5)
  %6 = load %"class.boost::adjacency_list"** %g, align 4
  %7 = bitcast %"class.boost::adjacency_list"* %6 to %"class.boost::vec_adj_list_impl"*
  call void @_ZNK5boost17vec_adj_list_implINS_14adjacency_listINS_4vecSES2_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS4_EES4_NS_5listSEEENS_6detail12adj_list_genIS9_S2_S2_S3_S4_S7_S4_S8_E6configENS_23undirected_graph_helperISD_EEE10vertex_setEv(%"class.boost::integer_range"* sret %tmp2, %"class.boost::vec_adj_list_impl"* %7)
  %8 = bitcast %"class.boost::integer_range"* %tmp2 to %"class.boost::iterator_range"*
  call void @_ZNK5boost14iterator_rangeINS_12range_detail16integer_iteratorIjEEE3endEv(%"class.boost::range_detail::integer_iterator"* sret %agg.tmp1, %"class.boost::iterator_range"* %8)
  call void @_ZSt9make_pairIN5boost12range_detail16integer_iteratorIjEES3_ESt4pairIT_T0_ES5_S6_(%"struct.std::pair.30"* sret %agg.result, %"class.boost::range_detail::integer_iterator"* byval align 4 %agg.tmp, %"class.boost::range_detail::integer_iterator"* byval align 4 %agg.tmp1)
  ret void
}

define linkonce_odr zeroext i1 @_ZN5boostneINS_12range_detail16integer_iteratorIjEEjNS_27random_access_traversal_tagEjiS3_jS4_jiEENS_6detail23enable_if_interoperableIT_T4_NS_3mpl6apply2INS5_12always_bool2ES7_S8_E4typeEE4typeERKNS_15iterator_facadeIS7_T0_T1_T2_T3_EERKNSG_IS8_T5_T6_T7_T8_EE(%"class.boost::iterator_facade.26"* %lhs, %"class.boost::iterator_facade.26"* %rhs) inlinehint {
entry:
  %lhs.addr = alloca %"class.boost::iterator_facade.26"*, align 4
  %rhs.addr = alloca %"class.boost::iterator_facade.26"*, align 4
  %agg.tmp = alloca %"struct.mpl_::bool_", align 1
  %ref.tmp = alloca %"struct.boost::is_convertible.32", align 1
  store %"class.boost::iterator_facade.26"* %lhs, %"class.boost::iterator_facade.26"** %lhs.addr, align 4
  store %"class.boost::iterator_facade.26"* %rhs, %"class.boost::iterator_facade.26"** %rhs.addr, align 4
  %0 = load %"class.boost::iterator_facade.26"** %lhs.addr, align 4
  %1 = bitcast %"class.boost::iterator_facade.26"* %0 to %"class.boost::range_detail::integer_iterator"*
  %2 = load %"class.boost::iterator_facade.26"** %rhs.addr, align 4
  %3 = bitcast %"class.boost::iterator_facade.26"* %2 to %"class.boost::range_detail::integer_iterator"*
  %4 = bitcast %"struct.boost::is_convertible.32"* %ref.tmp to %"struct.mpl_::bool_"*
  %call = call zeroext i1 @_ZN5boost20iterator_core_access5equalINS_12range_detail16integer_iteratorIjEES4_EEbRKT_RKT0_N4mpl_5bool_ILb1EEE(%"class.boost::range_detail::integer_iterator"* %1, %"class.boost::range_detail::integer_iterator"* %3)
  %lnot = xor i1 %call, true
  ret i1 %lnot
}

define linkonce_odr void @_ZN5boost13disjoint_setsINS_21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEESD_NS_31find_with_full_path_compressionEE8make_setIjEEvT_(%"class.boost::disjoint_sets"* %this, i32 %x) inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::disjoint_sets"*, align 4
  %x.addr = alloca i32, align 4
  %ref.tmp = alloca i32, align 4
  store %"class.boost::disjoint_sets"* %this, %"class.boost::disjoint_sets"** %this.addr, align 4
  store i32 %x, i32* %x.addr, align 4
  %this1 = load %"class.boost::disjoint_sets"** %this.addr
  %parent = getelementptr inbounds %"class.boost::disjoint_sets"* %this1, i32 0, i32 1
  %0 = bitcast %"class.boost::iterator_property_map"* %parent to %"struct.boost::put_get_helper.21"*
  %1 = load i32* %x.addr, align 4
  call void @_ZN5boost3putINS_21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEESC_jjEEvRKNS_14put_get_helperIT0_T_EET1_RKT2_(%"struct.boost::put_get_helper.21"* %0, i32 %1, i32* %x.addr)
  %rank = getelementptr inbounds %"class.boost::disjoint_sets"* %this1, i32 0, i32 0
  %2 = bitcast %"class.boost::iterator_property_map"* %rank to %"struct.boost::put_get_helper.21"*
  %3 = load i32* %x.addr, align 4
  store i32 0, i32* %ref.tmp, align 4
  call void @_ZN5boost3putINS_21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEESC_jjEEvRKNS_14put_get_helperIT0_T_EET1_RKT2_(%"struct.boost::put_get_helper.21"* %2, i32 %3, i32* %ref.tmp)
  ret void
}

define linkonce_odr i32 @_ZNK5boost15iterator_facadeINS_12range_detail16integer_iteratorIjEEjNS_27random_access_traversal_tagEjiEdeEv(%"class.boost::iterator_facade.26"* %this) align 2 {
entry:
  %this.addr = alloca %"class.boost::iterator_facade.26"*, align 4
  store %"class.boost::iterator_facade.26"* %this, %"class.boost::iterator_facade.26"** %this.addr, align 4
  %this1 = load %"class.boost::iterator_facade.26"** %this.addr
  %call = call %"class.boost::range_detail::integer_iterator"* @_ZNK5boost15iterator_facadeINS_12range_detail16integer_iteratorIjEEjNS_27random_access_traversal_tagEjiE7derivedEv(%"class.boost::iterator_facade.26"* %this1)
  %call2 = call i32 @_ZN5boost20iterator_core_access11dereferenceINS_12range_detail16integer_iteratorIjEEEENT_9referenceERKS5_(%"class.boost::range_detail::integer_iterator"* %call)
  ret i32 %call2
}

define linkonce_odr %"class.boost::range_detail::integer_iterator"* @_ZN5boost15iterator_facadeINS_12range_detail16integer_iteratorIjEEjNS_27random_access_traversal_tagEjiEppEv(%"class.boost::iterator_facade.26"* %this) align 2 {
entry:
  %this.addr = alloca %"class.boost::iterator_facade.26"*, align 4
  store %"class.boost::iterator_facade.26"* %this, %"class.boost::iterator_facade.26"** %this.addr, align 4
  %this1 = load %"class.boost::iterator_facade.26"** %this.addr
  %call = call %"class.boost::range_detail::integer_iterator"* @_ZN5boost15iterator_facadeINS_12range_detail16integer_iteratorIjEEjNS_27random_access_traversal_tagEjiE7derivedEv(%"class.boost::iterator_facade.26"* %this1)
  call void @_ZN5boost20iterator_core_access9incrementINS_12range_detail16integer_iteratorIjEEEEvRT_(%"class.boost::range_detail::integer_iterator"* %call)
  %call2 = call %"class.boost::range_detail::integer_iterator"* @_ZN5boost15iterator_facadeINS_12range_detail16integer_iteratorIjEEjNS_27random_access_traversal_tagEjiE7derivedEv(%"class.boost::iterator_facade.26"* %this1)
  ret %"class.boost::range_detail::integer_iterator"* %call2
}

define linkonce_odr void @_ZN5boost12indirect_cmpINS_26adj_list_edge_property_mapINS_14undirected_tagEiRKijKNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEES6_EESt7greaterIiEEC1ERKSA_RKSC_(%"class.boost::indirect_cmp"* %this, %"struct.boost::adj_list_edge_property_map.24"* %df, %"struct.std::greater"* %c) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::indirect_cmp"*, align 4
  %df.addr = alloca %"struct.boost::adj_list_edge_property_map.24"*, align 4
  %c.addr = alloca %"struct.std::greater"*, align 4
  store %"class.boost::indirect_cmp"* %this, %"class.boost::indirect_cmp"** %this.addr, align 4
  store %"struct.boost::adj_list_edge_property_map.24"* %df, %"struct.boost::adj_list_edge_property_map.24"** %df.addr, align 4
  store %"struct.std::greater"* %c, %"struct.std::greater"** %c.addr, align 4
  %this1 = load %"class.boost::indirect_cmp"** %this.addr
  %0 = load %"struct.boost::adj_list_edge_property_map.24"** %df.addr
  %1 = load %"struct.std::greater"** %c.addr
  call void @_ZN5boost12indirect_cmpINS_26adj_list_edge_property_mapINS_14undirected_tagEiRKijKNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEES6_EESt7greaterIiEEC2ERKSA_RKSC_(%"class.boost::indirect_cmp"* %this1, %"struct.boost::adj_list_edge_property_map.24"* %0, %"struct.std::greater"* %1)
  ret void
}

define linkonce_odr void @_ZNSt14priority_queueIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESt6vectorIS4_SaIS4_EENS0_12indirect_cmpINS0_26adj_list_edge_property_mapIS3_iRKijKNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEESD_EESt7greaterIiEEEEC1ERKSK_RKS7_(%"class.std::priority_queue"* %this, %"class.boost::indirect_cmp"* %__x, %"class.std::vector.3"* %__s) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::priority_queue"*, align 4
  %__x.addr = alloca %"class.boost::indirect_cmp"*, align 4
  %__s.addr = alloca %"class.std::vector.3"*, align 4
  store %"class.std::priority_queue"* %this, %"class.std::priority_queue"** %this.addr, align 4
  store %"class.boost::indirect_cmp"* %__x, %"class.boost::indirect_cmp"** %__x.addr, align 4
  store %"class.std::vector.3"* %__s, %"class.std::vector.3"** %__s.addr, align 4
  %this1 = load %"class.std::priority_queue"** %this.addr
  %0 = load %"class.boost::indirect_cmp"** %__x.addr
  %1 = load %"class.std::vector.3"** %__s.addr
  call void @_ZNSt14priority_queueIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESt6vectorIS4_SaIS4_EENS0_12indirect_cmpINS0_26adj_list_edge_property_mapIS3_iRKijKNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEESD_EESt7greaterIiEEEEC2ERKSK_RKS7_(%"class.std::priority_queue"* %this1, %"class.boost::indirect_cmp"* %0, %"class.std::vector.3"* %1)
  ret void
}

define linkonce_odr void @_ZNSt14priority_queueIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESt6vectorIS4_SaIS4_EENS0_12indirect_cmpINS0_26adj_list_edge_property_mapIS3_iRKijKNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEESD_EESt7greaterIiEEEE4pushERKS4_(%"class.std::priority_queue"* %this, %"class.boost::detail::edge_desc_impl"* %__x) align 2 {
entry:
  %this.addr = alloca %"class.std::priority_queue"*, align 4
  %__x.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator", align 4
  %agg.tmp3 = alloca %"class.__gnu_cxx::__normal_iterator", align 4
  %agg.tmp5 = alloca %"class.boost::indirect_cmp", align 4
  store %"class.std::priority_queue"* %this, %"class.std::priority_queue"** %this.addr, align 4
  store %"class.boost::detail::edge_desc_impl"* %__x, %"class.boost::detail::edge_desc_impl"** %__x.addr, align 4
  %this1 = load %"class.std::priority_queue"** %this.addr
  %c = getelementptr inbounds %"class.std::priority_queue"* %this1, i32 0, i32 0
  %0 = load %"class.boost::detail::edge_desc_impl"** %__x.addr, align 4
  call void @_ZNSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE9push_backERKS4_(%"class.std::vector.3"* %c, %"class.boost::detail::edge_desc_impl"* %0)
  %c2 = getelementptr inbounds %"class.std::priority_queue"* %this1, i32 0, i32 0
  call void @_ZNSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE5beginEv(%"class.__gnu_cxx::__normal_iterator"* sret %agg.tmp, %"class.std::vector.3"* %c2)
  %c4 = getelementptr inbounds %"class.std::priority_queue"* %this1, i32 0, i32 0
  call void @_ZNSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE3endEv(%"class.__gnu_cxx::__normal_iterator"* sret %agg.tmp3, %"class.std::vector.3"* %c4)
  %comp = getelementptr inbounds %"class.std::priority_queue"* %this1, i32 0, i32 1
  %1 = bitcast %"class.boost::indirect_cmp"* %agg.tmp5 to i8*
  %2 = bitcast %"class.boost::indirect_cmp"* %comp to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1, i8* %2, i32 8, i32 4, i1 false)
  call void @_ZSt9push_heapIN9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS2_14undirected_tagEjEESt6vectorIS6_SaIS6_EEEENS2_12indirect_cmpINS2_26adj_list_edge_property_mapIS5_iRKijKNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEESH_EESt7greaterIiEEEEvT_SP_T0_(%"class.__gnu_cxx::__normal_iterator"* byval align 4 %agg.tmp, %"class.__gnu_cxx::__normal_iterator"* byval align 4 %agg.tmp3, %"class.boost::indirect_cmp"* byval align 4 %agg.tmp5)
  ret void
}

define linkonce_odr zeroext i1 @_ZNKSt14priority_queueIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESt6vectorIS4_SaIS4_EENS0_12indirect_cmpINS0_26adj_list_edge_property_mapIS3_iRKijKNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEESD_EESt7greaterIiEEEE5emptyEv(%"class.std::priority_queue"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::priority_queue"*, align 4
  store %"class.std::priority_queue"* %this, %"class.std::priority_queue"** %this.addr, align 4
  %this1 = load %"class.std::priority_queue"** %this.addr
  %c = getelementptr inbounds %"class.std::priority_queue"* %this1, i32 0, i32 0
  %call = call zeroext i1 @_ZNKSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE5emptyEv(%"class.std::vector.3"* %c)
  ret i1 %call
}

define linkonce_odr %"class.boost::detail::edge_desc_impl"* @_ZNKSt14priority_queueIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESt6vectorIS4_SaIS4_EENS0_12indirect_cmpINS0_26adj_list_edge_property_mapIS3_iRKijKNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEESD_EESt7greaterIiEEEE3topEv(%"class.std::priority_queue"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::priority_queue"*, align 4
  store %"class.std::priority_queue"* %this, %"class.std::priority_queue"** %this.addr, align 4
  %this1 = load %"class.std::priority_queue"** %this.addr
  %c = getelementptr inbounds %"class.std::priority_queue"* %this1, i32 0, i32 0
  %call = call %"class.boost::detail::edge_desc_impl"* @_ZNKSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE5frontEv(%"class.std::vector.3"* %c)
  ret %"class.boost::detail::edge_desc_impl"* %call
}

define linkonce_odr void @_ZNSt14priority_queueIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESt6vectorIS4_SaIS4_EENS0_12indirect_cmpINS0_26adj_list_edge_property_mapIS3_iRKijKNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEESD_EESt7greaterIiEEEE3popEv(%"class.std::priority_queue"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::priority_queue"*, align 4
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator", align 4
  %agg.tmp2 = alloca %"class.__gnu_cxx::__normal_iterator", align 4
  %agg.tmp4 = alloca %"class.boost::indirect_cmp", align 4
  store %"class.std::priority_queue"* %this, %"class.std::priority_queue"** %this.addr, align 4
  %this1 = load %"class.std::priority_queue"** %this.addr
  %c = getelementptr inbounds %"class.std::priority_queue"* %this1, i32 0, i32 0
  call void @_ZNSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE5beginEv(%"class.__gnu_cxx::__normal_iterator"* sret %agg.tmp, %"class.std::vector.3"* %c)
  %c3 = getelementptr inbounds %"class.std::priority_queue"* %this1, i32 0, i32 0
  call void @_ZNSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE3endEv(%"class.__gnu_cxx::__normal_iterator"* sret %agg.tmp2, %"class.std::vector.3"* %c3)
  %comp = getelementptr inbounds %"class.std::priority_queue"* %this1, i32 0, i32 1
  %0 = bitcast %"class.boost::indirect_cmp"* %agg.tmp4 to i8*
  %1 = bitcast %"class.boost::indirect_cmp"* %comp to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 8, i32 4, i1 false)
  call void @_ZSt8pop_heapIN9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS2_14undirected_tagEjEESt6vectorIS6_SaIS6_EEEENS2_12indirect_cmpINS2_26adj_list_edge_property_mapIS5_iRKijKNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEESH_EESt7greaterIiEEEEvT_SP_T0_(%"class.__gnu_cxx::__normal_iterator"* byval align 4 %agg.tmp, %"class.__gnu_cxx::__normal_iterator"* byval align 4 %agg.tmp2, %"class.boost::indirect_cmp"* byval align 4 %agg.tmp4)
  %c5 = getelementptr inbounds %"class.std::priority_queue"* %this1, i32 0, i32 0
  call void @_ZNSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE8pop_backEv(%"class.std::vector.3"* %c5)
  ret void
}

define linkonce_odr i32 @_ZN5boost13disjoint_setsINS_21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEESD_NS_31find_with_full_path_compressionEE8find_setIjEET_SH_(%"class.boost::disjoint_sets"* %this, i32 %x) inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::disjoint_sets"*, align 4
  %x.addr = alloca i32, align 4
  %agg.tmp = alloca %"class.boost::iterator_property_map", align 4
  store %"class.boost::disjoint_sets"* %this, %"class.boost::disjoint_sets"** %this.addr, align 4
  store i32 %x, i32* %x.addr, align 4
  %this1 = load %"class.boost::disjoint_sets"** %this.addr
  %rep = getelementptr inbounds %"class.boost::disjoint_sets"* %this1, i32 0, i32 2
  %parent = getelementptr inbounds %"class.boost::disjoint_sets"* %this1, i32 0, i32 1
  %0 = bitcast %"class.boost::iterator_property_map"* %agg.tmp to i8*
  %1 = bitcast %"class.boost::iterator_property_map"* %parent to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 8, i32 4, i1 false)
  %2 = load i32* %x.addr, align 4
  %call = call i32 @_ZN5boost31find_with_full_path_compressionclINS_21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEEjEET0_T_SF_(%"struct.boost::find_with_full_path_compression"* %rep, %"class.boost::iterator_property_map"* byval align 4 %agg.tmp, i32 %2)
  ret i32 %call
}

define linkonce_odr void @_ZNSt20back_insert_iteratorISt6vectorIN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESaIS5_EEEppEi(%"class.std::back_insert_iterator"* noalias sret %agg.result, %"class.std::back_insert_iterator"* %this, i32) nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::back_insert_iterator"*, align 4
  %.addr = alloca i32, align 4
  store %"class.std::back_insert_iterator"* %this, %"class.std::back_insert_iterator"** %this.addr, align 4
  store i32 %0, i32* %.addr, align 4
  %this1 = load %"class.std::back_insert_iterator"** %this.addr
  %1 = bitcast %"class.std::back_insert_iterator"* %agg.result to i8*
  %2 = bitcast %"class.std::back_insert_iterator"* %this1 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1, i8* %2, i32 4, i32 4, i1 false)
  ret void
}

define linkonce_odr %"class.std::back_insert_iterator"* @_ZNSt20back_insert_iteratorISt6vectorIN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESaIS5_EEEdeEv(%"class.std::back_insert_iterator"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::back_insert_iterator"*, align 4
  store %"class.std::back_insert_iterator"* %this, %"class.std::back_insert_iterator"** %this.addr, align 4
  %this1 = load %"class.std::back_insert_iterator"** %this.addr
  ret %"class.std::back_insert_iterator"* %this1
}

define linkonce_odr %"class.std::back_insert_iterator"* @_ZNSt20back_insert_iteratorISt6vectorIN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESaIS5_EEEaSERKS5_(%"class.std::back_insert_iterator"* %this, %"class.boost::detail::edge_desc_impl"* %__value) align 2 {
entry:
  %this.addr = alloca %"class.std::back_insert_iterator"*, align 4
  %__value.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  store %"class.std::back_insert_iterator"* %this, %"class.std::back_insert_iterator"** %this.addr, align 4
  store %"class.boost::detail::edge_desc_impl"* %__value, %"class.boost::detail::edge_desc_impl"** %__value.addr, align 4
  %this1 = load %"class.std::back_insert_iterator"** %this.addr
  %container = getelementptr inbounds %"class.std::back_insert_iterator"* %this1, i32 0, i32 0
  %0 = load %"class.std::vector.3"** %container, align 4
  %1 = load %"class.boost::detail::edge_desc_impl"** %__value.addr, align 4
  call void @_ZNSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE9push_backERKS4_(%"class.std::vector.3"* %0, %"class.boost::detail::edge_desc_impl"* %1)
  ret %"class.std::back_insert_iterator"* %this1
}

define linkonce_odr void @_ZN5boost13disjoint_setsINS_21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEESD_NS_31find_with_full_path_compressionEE4linkIjEEvT_SH_(%"class.boost::disjoint_sets"* %this, i32 %x, i32 %y) inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::disjoint_sets"*, align 4
  %x.addr = alloca i32, align 4
  %y.addr = alloca i32, align 4
  %agg.tmp = alloca %"class.boost::iterator_property_map", align 4
  %agg.tmp2 = alloca %"class.boost::iterator_property_map", align 4
  %agg.tmp3 = alloca %"struct.boost::find_with_full_path_compression", align 1
  store %"class.boost::disjoint_sets"* %this, %"class.boost::disjoint_sets"** %this.addr, align 4
  store i32 %x, i32* %x.addr, align 4
  store i32 %y, i32* %y.addr, align 4
  %this1 = load %"class.boost::disjoint_sets"** %this.addr
  %parent = getelementptr inbounds %"class.boost::disjoint_sets"* %this1, i32 0, i32 1
  %0 = bitcast %"class.boost::iterator_property_map"* %agg.tmp to i8*
  %1 = bitcast %"class.boost::iterator_property_map"* %parent to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 8, i32 4, i1 false)
  %rank = getelementptr inbounds %"class.boost::disjoint_sets"* %this1, i32 0, i32 0
  %2 = bitcast %"class.boost::iterator_property_map"* %agg.tmp2 to i8*
  %3 = bitcast %"class.boost::iterator_property_map"* %rank to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %2, i8* %3, i32 8, i32 4, i1 false)
  %4 = load i32* %x.addr, align 4
  %5 = load i32* %y.addr, align 4
  %rep = getelementptr inbounds %"class.boost::disjoint_sets"* %this1, i32 0, i32 2
  call void @_ZN5boost6detail9link_setsINS_21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEESE_jNS_31find_with_full_path_compressionEEEvT_T0_T1_SI_T2_(%"class.boost::iterator_property_map"* byval align 4 %agg.tmp, %"class.boost::iterator_property_map"* byval align 4 %agg.tmp2, i32 %4, i32 %5)
  ret void
}

define linkonce_odr void @_ZNSt14priority_queueIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESt6vectorIS4_SaIS4_EENS0_12indirect_cmpINS0_26adj_list_edge_property_mapIS3_iRKijKNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEESD_EESt7greaterIiEEEED1Ev(%"class.std::priority_queue"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.std::priority_queue"*, align 4
  store %"class.std::priority_queue"* %this, %"class.std::priority_queue"** %this.addr, align 4
  %this1 = load %"class.std::priority_queue"** %this.addr
  call void @_ZNSt14priority_queueIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESt6vectorIS4_SaIS4_EENS0_12indirect_cmpINS0_26adj_list_edge_property_mapIS3_iRKijKNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEESD_EESt7greaterIiEEEED2Ev(%"class.std::priority_queue"* %this1)
  ret void
}

define linkonce_odr void @_ZNSt14priority_queueIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESt6vectorIS4_SaIS4_EENS0_12indirect_cmpINS0_26adj_list_edge_property_mapIS3_iRKijKNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEESD_EESt7greaterIiEEEED2Ev(%"class.std::priority_queue"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.std::priority_queue"*, align 4
  store %"class.std::priority_queue"* %this, %"class.std::priority_queue"** %this.addr, align 4
  %this1 = load %"class.std::priority_queue"** %this.addr
  %c = getelementptr inbounds %"class.std::priority_queue"* %this1, i32 0, i32 0
  call void @_ZNSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EED1Ev(%"class.std::vector.3"* %c)
  ret void
}

define linkonce_odr void @_ZN5boost6detail9link_setsINS_21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEESE_jNS_31find_with_full_path_compressionEEEvT_T0_T1_SI_T2_(%"class.boost::iterator_property_map"* byval align 4 %p, %"class.boost::iterator_property_map"* byval align 4 %rank, i32 %i, i32 %j) inlinehint {
entry:
  %i.addr = alloca i32, align 4
  %j.addr = alloca i32, align 4
  %comp_rep = alloca %"struct.boost::find_with_full_path_compression", align 1
  %agg.tmp = alloca %"class.boost::iterator_property_map", align 4
  %agg.tmp1 = alloca %"class.boost::iterator_property_map", align 4
  %ref.tmp = alloca i32, align 4
  store i32 %i, i32* %i.addr, align 4
  store i32 %j, i32* %j.addr, align 4
  %0 = bitcast %"class.boost::iterator_property_map"* %agg.tmp to i8*
  %1 = bitcast %"class.boost::iterator_property_map"* %p to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 8, i32 4, i1 false)
  %2 = load i32* %i.addr, align 4
  %call = call i32 @_ZN5boost31find_with_full_path_compressionclINS_21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEEjEET0_T_SF_(%"struct.boost::find_with_full_path_compression"* %comp_rep, %"class.boost::iterator_property_map"* byval align 4 %agg.tmp, i32 %2)
  store i32 %call, i32* %i.addr, align 4
  %3 = bitcast %"class.boost::iterator_property_map"* %agg.tmp1 to i8*
  %4 = bitcast %"class.boost::iterator_property_map"* %p to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* %4, i32 8, i32 4, i1 false)
  %5 = load i32* %j.addr, align 4
  %call2 = call i32 @_ZN5boost31find_with_full_path_compressionclINS_21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEEjEET0_T_SF_(%"struct.boost::find_with_full_path_compression"* %comp_rep, %"class.boost::iterator_property_map"* byval align 4 %agg.tmp1, i32 %5)
  store i32 %call2, i32* %j.addr, align 4
  %6 = load i32* %i.addr, align 4
  %7 = load i32* %j.addr, align 4
  %cmp = icmp eq i32 %6, %7
  br i1 %cmp, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  br label %if.end13

if.end:                                           ; preds = %entry
  %8 = bitcast %"class.boost::iterator_property_map"* %rank to %"struct.boost::put_get_helper.21"*
  %call3 = call i32* @_ZN5boost3getINS_21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEESC_jEET0_RKNS_14put_get_helperISE_T_EERKT1_(%"struct.boost::put_get_helper.21"* %8, i32* %i.addr)
  %9 = load i32* %call3
  %10 = bitcast %"class.boost::iterator_property_map"* %rank to %"struct.boost::put_get_helper.21"*
  %call4 = call i32* @_ZN5boost3getINS_21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEESC_jEET0_RKNS_14put_get_helperISE_T_EERKT1_(%"struct.boost::put_get_helper.21"* %10, i32* %j.addr)
  %11 = load i32* %call4
  %cmp5 = icmp ugt i32 %9, %11
  br i1 %cmp5, label %if.then6, label %if.else

if.then6:                                         ; preds = %if.end
  %12 = bitcast %"class.boost::iterator_property_map"* %p to %"struct.boost::put_get_helper.21"*
  %13 = load i32* %j.addr, align 4
  call void @_ZN5boost3putINS_21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEESC_jjEEvRKNS_14put_get_helperIT0_T_EET1_RKT2_(%"struct.boost::put_get_helper.21"* %12, i32 %13, i32* %i.addr)
  br label %if.end13

if.else:                                          ; preds = %if.end
  %14 = bitcast %"class.boost::iterator_property_map"* %p to %"struct.boost::put_get_helper.21"*
  %15 = load i32* %i.addr, align 4
  call void @_ZN5boost3putINS_21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEESC_jjEEvRKNS_14put_get_helperIT0_T_EET1_RKT2_(%"struct.boost::put_get_helper.21"* %14, i32 %15, i32* %j.addr)
  %16 = bitcast %"class.boost::iterator_property_map"* %rank to %"struct.boost::put_get_helper.21"*
  %call7 = call i32* @_ZN5boost3getINS_21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEESC_jEET0_RKNS_14put_get_helperISE_T_EERKT1_(%"struct.boost::put_get_helper.21"* %16, i32* %i.addr)
  %17 = load i32* %call7
  %18 = bitcast %"class.boost::iterator_property_map"* %rank to %"struct.boost::put_get_helper.21"*
  %call8 = call i32* @_ZN5boost3getINS_21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEESC_jEET0_RKNS_14put_get_helperISE_T_EERKT1_(%"struct.boost::put_get_helper.21"* %18, i32* %j.addr)
  %19 = load i32* %call8
  %cmp9 = icmp eq i32 %17, %19
  br i1 %cmp9, label %if.then10, label %if.end12

if.then10:                                        ; preds = %if.else
  %20 = bitcast %"class.boost::iterator_property_map"* %rank to %"struct.boost::put_get_helper.21"*
  %21 = load i32* %j.addr, align 4
  %22 = bitcast %"class.boost::iterator_property_map"* %rank to %"struct.boost::put_get_helper.21"*
  %call11 = call i32* @_ZN5boost3getINS_21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEESC_jEET0_RKNS_14put_get_helperISE_T_EERKT1_(%"struct.boost::put_get_helper.21"* %22, i32* %j.addr)
  %23 = load i32* %call11
  %add = add i32 %23, 1
  store i32 %add, i32* %ref.tmp, align 4
  call void @_ZN5boost3putINS_21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEESC_jjEEvRKNS_14put_get_helperIT0_T_EET1_RKT2_(%"struct.boost::put_get_helper.21"* %20, i32 %21, i32* %ref.tmp)
  br label %if.end12

if.end12:                                         ; preds = %if.then10, %if.else
  br label %if.end13

if.end13:                                         ; preds = %if.then, %if.end12, %if.then6
  ret void
}

define linkonce_odr i32 @_ZN5boost31find_with_full_path_compressionclINS_21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEEjEET0_T_SF_(%"struct.boost::find_with_full_path_compression"* %this, %"class.boost::iterator_property_map"* byval align 4 %p, i32 %v) align 2 {
entry:
  %this.addr = alloca %"struct.boost::find_with_full_path_compression"*, align 4
  %v.addr = alloca i32, align 4
  %agg.tmp = alloca %"class.boost::iterator_property_map", align 4
  store %"struct.boost::find_with_full_path_compression"* %this, %"struct.boost::find_with_full_path_compression"** %this.addr, align 4
  store i32 %v, i32* %v.addr, align 4
  %this1 = load %"struct.boost::find_with_full_path_compression"** %this.addr
  %0 = bitcast %"class.boost::iterator_property_map"* %agg.tmp to i8*
  %1 = bitcast %"class.boost::iterator_property_map"* %p to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 8, i32 4, i1 false)
  %2 = load i32* %v.addr, align 4
  %call = call i32 @_ZN5boost6detail41find_representative_with_full_compressionINS_21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEEjEET0_T_SF_(%"class.boost::iterator_property_map"* byval align 4 %agg.tmp, i32 %2)
  ret i32 %call
}

define linkonce_odr i32* @_ZN5boost3getINS_21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEESC_jEET0_RKNS_14put_get_helperISE_T_EERKT1_(%"struct.boost::put_get_helper.21"* %pa, i32* %k) inlinehint {
entry:
  %pa.addr = alloca %"struct.boost::put_get_helper.21"*, align 4
  %k.addr = alloca i32*, align 4
  %v = alloca i32*, align 4
  store %"struct.boost::put_get_helper.21"* %pa, %"struct.boost::put_get_helper.21"** %pa.addr, align 4
  store i32* %k, i32** %k.addr, align 4
  %0 = load %"struct.boost::put_get_helper.21"** %pa.addr, align 4
  %1 = bitcast %"struct.boost::put_get_helper.21"* %0 to %"class.boost::iterator_property_map"*
  %2 = load i32** %k.addr, align 4
  %3 = load i32* %2, align 4
  %call = call i32* @_ZNK5boost21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEixEj(%"class.boost::iterator_property_map"* %1, i32 %3)
  store i32* %call, i32** %v, align 4
  %4 = load i32** %v, align 4
  ret i32* %4
}

define linkonce_odr void @_ZN5boost3putINS_21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEESC_jjEEvRKNS_14put_get_helperIT0_T_EET1_RKT2_(%"struct.boost::put_get_helper.21"* %pa, i32 %k, i32* %v) inlinehint {
entry:
  %pa.addr = alloca %"struct.boost::put_get_helper.21"*, align 4
  %k.addr = alloca i32, align 4
  %v.addr = alloca i32*, align 4
  store %"struct.boost::put_get_helper.21"* %pa, %"struct.boost::put_get_helper.21"** %pa.addr, align 4
  store i32 %k, i32* %k.addr, align 4
  store i32* %v, i32** %v.addr, align 4
  %0 = load i32** %v.addr, align 4
  %1 = load i32* %0, align 4
  %2 = load %"struct.boost::put_get_helper.21"** %pa.addr, align 4
  %3 = bitcast %"struct.boost::put_get_helper.21"* %2 to %"class.boost::iterator_property_map"*
  %4 = load i32* %k.addr, align 4
  %call = call i32* @_ZNK5boost21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEixEj(%"class.boost::iterator_property_map"* %3, i32 %4)
  store i32 %1, i32* %call
  ret void
}

define linkonce_odr i32* @_ZNK5boost21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEixEj(%"class.boost::iterator_property_map"* %this, i32 %v) inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::iterator_property_map"*, align 4
  %v.addr = alloca i32, align 4
  %ref.tmp = alloca i32, align 4
  %tmp = alloca %"class.__gnu_cxx::__normal_iterator.22", align 4
  store %"class.boost::iterator_property_map"* %this, %"class.boost::iterator_property_map"** %this.addr, align 4
  store i32 %v, i32* %v.addr, align 4
  %this1 = load %"class.boost::iterator_property_map"** %this.addr
  %iter = getelementptr inbounds %"class.boost::iterator_property_map"* %this1, i32 0, i32 0
  %index = getelementptr inbounds %"class.boost::iterator_property_map"* %this1, i32 0, i32 1
  %0 = bitcast %"struct.boost::vec_adj_list_vertex_id_map"* %index to %"struct.boost::put_get_helper.23"*
  %call = call i32 @_ZN5boost3getINS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjjEET0_RKNS_14put_get_helperIS4_T_EERKT1_(%"struct.boost::put_get_helper.23"* %0, i32* %v.addr)
  store i32 %call, i32* %ref.tmp, align 4
  call void @_ZNK9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEplERKi(%"class.__gnu_cxx::__normal_iterator.22"* sret %tmp, %"class.__gnu_cxx::__normal_iterator.22"* %iter, i32* %ref.tmp)
  %call2 = call i32* @_ZNK9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEdeEv(%"class.__gnu_cxx::__normal_iterator.22"* %tmp)
  ret i32* %call2
}

define linkonce_odr void @_ZNK9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEplERKi(%"class.__gnu_cxx::__normal_iterator.22"* noalias sret %agg.result, %"class.__gnu_cxx::__normal_iterator.22"* %this, i32* %__n) align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.22"*, align 4
  %__n.addr = alloca i32*, align 4
  %ref.tmp = alloca i32*, align 4
  store %"class.__gnu_cxx::__normal_iterator.22"* %this, %"class.__gnu_cxx::__normal_iterator.22"** %this.addr, align 4
  store i32* %__n, i32** %__n.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.22"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.22"* %this1, i32 0, i32 0
  %0 = load i32** %_M_current, align 4
  %1 = load i32** %__n.addr, align 4
  %2 = load i32* %1, align 4
  %add.ptr = getelementptr inbounds i32* %0, i32 %2
  store i32* %add.ptr, i32** %ref.tmp, align 4
  call void @_ZN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEC1ERKS1_(%"class.__gnu_cxx::__normal_iterator.22"* %agg.result, i32** %ref.tmp)
  ret void
}

define linkonce_odr i32 @_ZN5boost3getINS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjjEET0_RKNS_14put_get_helperIS4_T_EERKT1_(%"struct.boost::put_get_helper.23"* %pa, i32* %k) inlinehint {
entry:
  %pa.addr = alloca %"struct.boost::put_get_helper.23"*, align 4
  %k.addr = alloca i32*, align 4
  %v = alloca i32, align 4
  store %"struct.boost::put_get_helper.23"* %pa, %"struct.boost::put_get_helper.23"** %pa.addr, align 4
  store i32* %k, i32** %k.addr, align 4
  %0 = load %"struct.boost::put_get_helper.23"** %pa.addr, align 4
  %1 = bitcast %"struct.boost::put_get_helper.23"* %0 to %"struct.boost::vec_adj_list_vertex_id_map"*
  %2 = load i32** %k.addr, align 4
  %3 = load i32* %2, align 4
  %call = call i32 @_ZNK5boost26vec_adj_list_vertex_id_mapINS_11no_propertyEjEixEj(%"struct.boost::vec_adj_list_vertex_id_map"* %1, i32 %3)
  store i32 %call, i32* %v, align 4
  %4 = load i32* %v, align 4
  ret i32 %4
}

define linkonce_odr i32* @_ZNK9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEdeEv(%"class.__gnu_cxx::__normal_iterator.22"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.22"*, align 4
  store %"class.__gnu_cxx::__normal_iterator.22"* %this, %"class.__gnu_cxx::__normal_iterator.22"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.22"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.22"* %this1, i32 0, i32 0
  %0 = load i32** %_M_current, align 4
  ret i32* %0
}

define linkonce_odr i32 @_ZNK5boost26vec_adj_list_vertex_id_mapINS_11no_propertyEjEixEj(%"struct.boost::vec_adj_list_vertex_id_map"* %this, i32 %v) nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::vec_adj_list_vertex_id_map"*, align 4
  %v.addr = alloca i32, align 4
  store %"struct.boost::vec_adj_list_vertex_id_map"* %this, %"struct.boost::vec_adj_list_vertex_id_map"** %this.addr, align 4
  store i32 %v, i32* %v.addr, align 4
  %this1 = load %"struct.boost::vec_adj_list_vertex_id_map"** %this.addr
  %0 = load i32* %v.addr, align 4
  ret i32 %0
}

define linkonce_odr i32 @_ZN5boost6detail41find_representative_with_full_compressionINS_21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEEjEET0_T_SF_(%"class.boost::iterator_property_map"* byval align 4 %parent, i32 %v) {
entry:
  %v.addr = alloca i32, align 4
  %old = alloca i32, align 4
  %ancestor = alloca i32, align 4
  store i32 %v, i32* %v.addr, align 4
  %0 = load i32* %v.addr, align 4
  store i32 %0, i32* %old, align 4
  %1 = bitcast %"class.boost::iterator_property_map"* %parent to %"struct.boost::put_get_helper.21"*
  %call = call i32* @_ZN5boost3getINS_21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEESC_jEET0_RKNS_14put_get_helperISE_T_EERKT1_(%"struct.boost::put_get_helper.21"* %1, i32* %v.addr)
  %2 = load i32* %call
  store i32 %2, i32* %ancestor, align 4
  br label %while.cond

while.cond:                                       ; preds = %while.body, %entry
  %3 = load i32* %ancestor, align 4
  %4 = load i32* %v.addr, align 4
  %cmp = icmp ne i32 %3, %4
  br i1 %cmp, label %while.body, label %while.end

while.body:                                       ; preds = %while.cond
  %5 = load i32* %ancestor, align 4
  store i32 %5, i32* %v.addr, align 4
  %6 = bitcast %"class.boost::iterator_property_map"* %parent to %"struct.boost::put_get_helper.21"*
  %call1 = call i32* @_ZN5boost3getINS_21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEESC_jEET0_RKNS_14put_get_helperISE_T_EERKT1_(%"struct.boost::put_get_helper.21"* %6, i32* %v.addr)
  %7 = load i32* %call1
  store i32 %7, i32* %ancestor, align 4
  br label %while.cond

while.end:                                        ; preds = %while.cond
  %8 = bitcast %"class.boost::iterator_property_map"* %parent to %"struct.boost::put_get_helper.21"*
  %call2 = call i32* @_ZN5boost3getINS_21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEESC_jEET0_RKNS_14put_get_helperISE_T_EERKT1_(%"struct.boost::put_get_helper.21"* %8, i32* %old)
  %9 = load i32* %call2
  store i32 %9, i32* %v.addr, align 4
  br label %while.cond3

while.cond3:                                      ; preds = %while.body5, %while.end
  %10 = load i32* %ancestor, align 4
  %11 = load i32* %v.addr, align 4
  %cmp4 = icmp ne i32 %10, %11
  br i1 %cmp4, label %while.body5, label %while.end7

while.body5:                                      ; preds = %while.cond3
  %12 = bitcast %"class.boost::iterator_property_map"* %parent to %"struct.boost::put_get_helper.21"*
  %13 = load i32* %old, align 4
  call void @_ZN5boost3putINS_21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEESC_jjEEvRKNS_14put_get_helperIT0_T_EET1_RKT2_(%"struct.boost::put_get_helper.21"* %12, i32 %13, i32* %ancestor)
  %14 = load i32* %v.addr, align 4
  store i32 %14, i32* %old, align 4
  %15 = bitcast %"class.boost::iterator_property_map"* %parent to %"struct.boost::put_get_helper.21"*
  %call6 = call i32* @_ZN5boost3getINS_21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEESC_jEET0_RKNS_14put_get_helperISE_T_EERKT1_(%"struct.boost::put_get_helper.21"* %15, i32* %old)
  %16 = load i32* %call6
  store i32 %16, i32* %v.addr, align 4
  br label %while.cond3

while.end7:                                       ; preds = %while.cond3
  %17 = load i32* %ancestor, align 4
  ret i32 %17
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE9push_backERKS4_(%"class.std::vector.3"* %this, %"class.boost::detail::edge_desc_impl"* %__x) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.3"*, align 4
  %__x.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator", align 4
  store %"class.std::vector.3"* %this, %"class.std::vector.3"** %this.addr, align 4
  store %"class.boost::detail::edge_desc_impl"* %__x, %"class.boost::detail::edge_desc_impl"** %__x.addr, align 4
  %this1 = load %"class.std::vector.3"** %this.addr
  %0 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.4"* %0, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl, i32 0, i32 1
  %1 = load %"class.boost::detail::edge_desc_impl"** %_M_finish, align 4
  %2 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base.4"* %2, i32 0, i32 0
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl2, i32 0, i32 2
  %3 = load %"class.boost::detail::edge_desc_impl"** %_M_end_of_storage, align 4
  %cmp = icmp ne %"class.boost::detail::edge_desc_impl"* %1, %3
  br i1 %cmp, label %if.then, label %if.else

if.then:                                          ; preds = %entry
  %4 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl3 = getelementptr inbounds %"struct.std::_Vector_base.4"* %4, i32 0, i32 0
  %5 = bitcast %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl3 to %"class.__gnu_cxx::new_allocator.6"*
  %6 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl4 = getelementptr inbounds %"struct.std::_Vector_base.4"* %6, i32 0, i32 0
  %_M_finish5 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl4, i32 0, i32 1
  %7 = load %"class.boost::detail::edge_desc_impl"** %_M_finish5, align 4
  %8 = load %"class.boost::detail::edge_desc_impl"** %__x.addr, align 4
  call void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail14edge_desc_implINS1_14undirected_tagEjEEE9constructEPS5_RKS5_(%"class.__gnu_cxx::new_allocator.6"* %5, %"class.boost::detail::edge_desc_impl"* %7, %"class.boost::detail::edge_desc_impl"* %8)
  %9 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl6 = getelementptr inbounds %"struct.std::_Vector_base.4"* %9, i32 0, i32 0
  %_M_finish7 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl6, i32 0, i32 1
  %10 = load %"class.boost::detail::edge_desc_impl"** %_M_finish7, align 4
  %incdec.ptr = getelementptr inbounds %"class.boost::detail::edge_desc_impl"* %10, i32 1
  store %"class.boost::detail::edge_desc_impl"* %incdec.ptr, %"class.boost::detail::edge_desc_impl"** %_M_finish7, align 4
  br label %if.end

if.else:                                          ; preds = %entry
  call void @_ZNSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE3endEv(%"class.__gnu_cxx::__normal_iterator"* sret %agg.tmp, %"class.std::vector.3"* %this1)
  %11 = load %"class.boost::detail::edge_desc_impl"** %__x.addr, align 4
  call void @_ZNSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS4_S6_EERKS4_(%"class.std::vector.3"* %this1, %"class.__gnu_cxx::__normal_iterator"* byval align 4 %agg.tmp, %"class.boost::detail::edge_desc_impl"* %11)
  br label %if.end

if.end:                                           ; preds = %if.else, %if.then
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail14edge_desc_implINS1_14undirected_tagEjEEE9constructEPS5_RKS5_(%"class.__gnu_cxx::new_allocator.6"* %this, %"class.boost::detail::edge_desc_impl"* %__p, %"class.boost::detail::edge_desc_impl"* %__val) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.6"*, align 4
  %__p.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %__val.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  store %"class.__gnu_cxx::new_allocator.6"* %this, %"class.__gnu_cxx::new_allocator.6"** %this.addr, align 4
  store %"class.boost::detail::edge_desc_impl"* %__p, %"class.boost::detail::edge_desc_impl"** %__p.addr, align 4
  store %"class.boost::detail::edge_desc_impl"* %__val, %"class.boost::detail::edge_desc_impl"** %__val.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.6"** %this.addr
  %0 = load %"class.boost::detail::edge_desc_impl"** %__p.addr, align 4
  %1 = bitcast %"class.boost::detail::edge_desc_impl"* %0 to i8*
  %new.isnull = icmp eq i8* %1, null
  br i1 %new.isnull, label %new.cont, label %new.notnull

new.notnull:                                      ; preds = %entry
  %2 = bitcast i8* %1 to %"class.boost::detail::edge_desc_impl"*
  %3 = load %"class.boost::detail::edge_desc_impl"** %__val.addr, align 4
  %4 = bitcast %"class.boost::detail::edge_desc_impl"* %2 to i8*
  %5 = bitcast %"class.boost::detail::edge_desc_impl"* %3 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %5, i32 12, i32 4, i1 false)
  br label %new.cont

new.cont:                                         ; preds = %new.notnull, %entry
  %6 = phi %"class.boost::detail::edge_desc_impl"* [ %2, %new.notnull ], [ null, %entry ]
  ret void
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS4_S6_EERKS4_(%"class.std::vector.3"* %this, %"class.__gnu_cxx::__normal_iterator"* byval align 4 %__position, %"class.boost::detail::edge_desc_impl"* %__x) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.3"*, align 4
  %__x.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %__x_copy = alloca %"class.boost::detail::edge_desc_impl", align 4
  %__len = alloca i32, align 4
  %__elems_before = alloca i32, align 4
  %ref.tmp = alloca %"class.__gnu_cxx::__normal_iterator", align 4
  %__new_start = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %__new_finish = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.std::vector.3"* %this, %"class.std::vector.3"** %this.addr, align 4
  store %"class.boost::detail::edge_desc_impl"* %__x, %"class.boost::detail::edge_desc_impl"** %__x.addr, align 4
  %this1 = load %"class.std::vector.3"** %this.addr
  %0 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.4"* %0, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl, i32 0, i32 1
  %1 = load %"class.boost::detail::edge_desc_impl"** %_M_finish, align 4
  %2 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base.4"* %2, i32 0, i32 0
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl2, i32 0, i32 2
  %3 = load %"class.boost::detail::edge_desc_impl"** %_M_end_of_storage, align 4
  %cmp = icmp ne %"class.boost::detail::edge_desc_impl"* %1, %3
  br i1 %cmp, label %if.then, label %if.else

if.then:                                          ; preds = %entry
  %4 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl3 = getelementptr inbounds %"struct.std::_Vector_base.4"* %4, i32 0, i32 0
  %5 = bitcast %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl3 to %"class.__gnu_cxx::new_allocator.6"*
  %6 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl4 = getelementptr inbounds %"struct.std::_Vector_base.4"* %6, i32 0, i32 0
  %_M_finish5 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl4, i32 0, i32 1
  %7 = load %"class.boost::detail::edge_desc_impl"** %_M_finish5, align 4
  %8 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl6 = getelementptr inbounds %"struct.std::_Vector_base.4"* %8, i32 0, i32 0
  %_M_finish7 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl6, i32 0, i32 1
  %9 = load %"class.boost::detail::edge_desc_impl"** %_M_finish7, align 4
  %add.ptr = getelementptr inbounds %"class.boost::detail::edge_desc_impl"* %9, i32 -1
  call void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail14edge_desc_implINS1_14undirected_tagEjEEE9constructEPS5_RKS5_(%"class.__gnu_cxx::new_allocator.6"* %5, %"class.boost::detail::edge_desc_impl"* %7, %"class.boost::detail::edge_desc_impl"* %add.ptr)
  %10 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl8 = getelementptr inbounds %"struct.std::_Vector_base.4"* %10, i32 0, i32 0
  %_M_finish9 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl8, i32 0, i32 1
  %11 = load %"class.boost::detail::edge_desc_impl"** %_M_finish9, align 4
  %incdec.ptr = getelementptr inbounds %"class.boost::detail::edge_desc_impl"* %11, i32 1
  store %"class.boost::detail::edge_desc_impl"* %incdec.ptr, %"class.boost::detail::edge_desc_impl"** %_M_finish9, align 4
  %12 = load %"class.boost::detail::edge_desc_impl"** %__x.addr, align 4
  %13 = bitcast %"class.boost::detail::edge_desc_impl"* %__x_copy to i8*
  %14 = bitcast %"class.boost::detail::edge_desc_impl"* %12 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %13, i8* %14, i32 12, i32 4, i1 false)
  %call = call %"class.boost::detail::edge_desc_impl"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator"* %__position)
  %15 = load %"class.boost::detail::edge_desc_impl"** %call
  %16 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl10 = getelementptr inbounds %"struct.std::_Vector_base.4"* %16, i32 0, i32 0
  %_M_finish11 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl10, i32 0, i32 1
  %17 = load %"class.boost::detail::edge_desc_impl"** %_M_finish11, align 4
  %add.ptr12 = getelementptr inbounds %"class.boost::detail::edge_desc_impl"* %17, i32 -2
  %18 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl13 = getelementptr inbounds %"struct.std::_Vector_base.4"* %18, i32 0, i32 0
  %_M_finish14 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl13, i32 0, i32 1
  %19 = load %"class.boost::detail::edge_desc_impl"** %_M_finish14, align 4
  %add.ptr15 = getelementptr inbounds %"class.boost::detail::edge_desc_impl"* %19, i32 -1
  %call16 = call %"class.boost::detail::edge_desc_impl"* @_ZSt13copy_backwardIPN5boost6detail14edge_desc_implINS0_14undirected_tagEjEES5_ET0_T_S7_S6_(%"class.boost::detail::edge_desc_impl"* %15, %"class.boost::detail::edge_desc_impl"* %add.ptr12, %"class.boost::detail::edge_desc_impl"* %add.ptr15)
  %call17 = call %"class.boost::detail::edge_desc_impl"* @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEdeEv(%"class.__gnu_cxx::__normal_iterator"* %__position)
  %20 = bitcast %"class.boost::detail::edge_desc_impl"* %call17 to i8*
  %21 = bitcast %"class.boost::detail::edge_desc_impl"* %__x_copy to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %20, i8* %21, i32 12, i32 4, i1 false)
  br label %if.end68

if.else:                                          ; preds = %entry
  %call18 = call i32 @_ZNKSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE12_M_check_lenEjPKc(%"class.std::vector.3"* %this1, i32 1, i8* getelementptr inbounds ([22 x i8]* @.str16, i32 0, i32 0))
  store i32 %call18, i32* %__len, align 4
  call void @_ZNSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE5beginEv(%"class.__gnu_cxx::__normal_iterator"* sret %ref.tmp, %"class.std::vector.3"* %this1)
  %call19 = call i32 @_ZN9__gnu_cxxmiIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSD_SG_(%"class.__gnu_cxx::__normal_iterator"* %__position, %"class.__gnu_cxx::__normal_iterator"* %ref.tmp)
  store i32 %call19, i32* %__elems_before, align 4
  %22 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %23 = load i32* %__len, align 4
  %call20 = call %"class.boost::detail::edge_desc_impl"* @_ZNSt12_Vector_baseIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE11_M_allocateEj(%"struct.std::_Vector_base.4"* %22, i32 %23)
  store %"class.boost::detail::edge_desc_impl"* %call20, %"class.boost::detail::edge_desc_impl"** %__new_start, align 4
  %24 = load %"class.boost::detail::edge_desc_impl"** %__new_start, align 4
  store %"class.boost::detail::edge_desc_impl"* %24, %"class.boost::detail::edge_desc_impl"** %__new_finish, align 4
  %25 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl21 = getelementptr inbounds %"struct.std::_Vector_base.4"* %25, i32 0, i32 0
  %26 = bitcast %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl21 to %"class.__gnu_cxx::new_allocator.6"*
  %27 = load %"class.boost::detail::edge_desc_impl"** %__new_start, align 4
  %28 = load i32* %__elems_before, align 4
  %add.ptr22 = getelementptr inbounds %"class.boost::detail::edge_desc_impl"* %27, i32 %28
  %29 = load %"class.boost::detail::edge_desc_impl"** %__x.addr, align 4
  invoke void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail14edge_desc_implINS1_14undirected_tagEjEEE9constructEPS5_RKS5_(%"class.__gnu_cxx::new_allocator.6"* %26, %"class.boost::detail::edge_desc_impl"* %add.ptr22, %"class.boost::detail::edge_desc_impl"* %29)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %if.else
  store %"class.boost::detail::edge_desc_impl"* null, %"class.boost::detail::edge_desc_impl"** %__new_finish, align 4
  %30 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl23 = getelementptr inbounds %"struct.std::_Vector_base.4"* %30, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl23, i32 0, i32 0
  %31 = load %"class.boost::detail::edge_desc_impl"** %_M_start, align 4
  %call25 = invoke %"class.boost::detail::edge_desc_impl"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator"* %__position)
          to label %invoke.cont24 unwind label %lpad

invoke.cont24:                                    ; preds = %invoke.cont
  %32 = load %"class.boost::detail::edge_desc_impl"** %call25
  %33 = load %"class.boost::detail::edge_desc_impl"** %__new_start, align 4
  %34 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %call27 = invoke %"class.std::allocator.5"* @_ZNSt12_Vector_baseIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.4"* %34)
          to label %invoke.cont26 unwind label %lpad

invoke.cont26:                                    ; preds = %invoke.cont24
  %call29 = invoke %"class.boost::detail::edge_desc_impl"* @_ZSt22__uninitialized_move_aIPN5boost6detail14edge_desc_implINS0_14undirected_tagEjEES5_SaIS4_EET0_T_S8_S7_RT1_(%"class.boost::detail::edge_desc_impl"* %31, %"class.boost::detail::edge_desc_impl"* %32, %"class.boost::detail::edge_desc_impl"* %33, %"class.std::allocator.5"* %call27)
          to label %invoke.cont28 unwind label %lpad

invoke.cont28:                                    ; preds = %invoke.cont26
  store %"class.boost::detail::edge_desc_impl"* %call29, %"class.boost::detail::edge_desc_impl"** %__new_finish, align 4
  %35 = load %"class.boost::detail::edge_desc_impl"** %__new_finish, align 4
  %incdec.ptr30 = getelementptr inbounds %"class.boost::detail::edge_desc_impl"* %35, i32 1
  store %"class.boost::detail::edge_desc_impl"* %incdec.ptr30, %"class.boost::detail::edge_desc_impl"** %__new_finish, align 4
  %call32 = invoke %"class.boost::detail::edge_desc_impl"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator"* %__position)
          to label %invoke.cont31 unwind label %lpad

invoke.cont31:                                    ; preds = %invoke.cont28
  %36 = load %"class.boost::detail::edge_desc_impl"** %call32
  %37 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl33 = getelementptr inbounds %"struct.std::_Vector_base.4"* %37, i32 0, i32 0
  %_M_finish34 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl33, i32 0, i32 1
  %38 = load %"class.boost::detail::edge_desc_impl"** %_M_finish34, align 4
  %39 = load %"class.boost::detail::edge_desc_impl"** %__new_finish, align 4
  %40 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %call36 = invoke %"class.std::allocator.5"* @_ZNSt12_Vector_baseIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.4"* %40)
          to label %invoke.cont35 unwind label %lpad

invoke.cont35:                                    ; preds = %invoke.cont31
  %call38 = invoke %"class.boost::detail::edge_desc_impl"* @_ZSt22__uninitialized_move_aIPN5boost6detail14edge_desc_implINS0_14undirected_tagEjEES5_SaIS4_EET0_T_S8_S7_RT1_(%"class.boost::detail::edge_desc_impl"* %36, %"class.boost::detail::edge_desc_impl"* %38, %"class.boost::detail::edge_desc_impl"* %39, %"class.std::allocator.5"* %call36)
          to label %invoke.cont37 unwind label %lpad

invoke.cont37:                                    ; preds = %invoke.cont35
  store %"class.boost::detail::edge_desc_impl"* %call38, %"class.boost::detail::edge_desc_impl"** %__new_finish, align 4
  br label %try.cont

lpad:                                             ; preds = %invoke.cont35, %invoke.cont31, %invoke.cont28, %invoke.cont26, %invoke.cont24, %invoke.cont, %if.else
  %41 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  %42 = extractvalue { i8*, i32 } %41, 0
  store i8* %42, i8** %exn.slot
  %43 = extractvalue { i8*, i32 } %41, 1
  store i32 %43, i32* %ehselector.slot
  br label %catch

catch:                                            ; preds = %lpad
  %exn = load i8** %exn.slot
  %44 = call i8* @__cxa_begin_catch(i8* %exn) nounwind
  %45 = load %"class.boost::detail::edge_desc_impl"** %__new_finish, align 4
  %tobool = icmp ne %"class.boost::detail::edge_desc_impl"* %45, null
  br i1 %tobool, label %if.else44, label %if.then39

if.then39:                                        ; preds = %catch
  %46 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl40 = getelementptr inbounds %"struct.std::_Vector_base.4"* %46, i32 0, i32 0
  %47 = bitcast %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl40 to %"class.__gnu_cxx::new_allocator.6"*
  %48 = load %"class.boost::detail::edge_desc_impl"** %__new_start, align 4
  %49 = load i32* %__elems_before, align 4
  %add.ptr41 = getelementptr inbounds %"class.boost::detail::edge_desc_impl"* %48, i32 %49
  invoke void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail14edge_desc_implINS1_14undirected_tagEjEEE7destroyEPS5_(%"class.__gnu_cxx::new_allocator.6"* %47, %"class.boost::detail::edge_desc_impl"* %add.ptr41)
          to label %invoke.cont43 unwind label %lpad42

invoke.cont43:                                    ; preds = %if.then39
  br label %if.end

lpad42:                                           ; preds = %invoke.cont48, %if.end, %invoke.cont45, %if.else44, %if.then39
  %50 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %51 = extractvalue { i8*, i32 } %50, 0
  store i8* %51, i8** %exn.slot
  %52 = extractvalue { i8*, i32 } %50, 1
  store i32 %52, i32* %ehselector.slot
  invoke void @__cxa_end_catch()
          to label %invoke.cont49 unwind label %terminate.lpad

if.else44:                                        ; preds = %catch
  %53 = load %"class.boost::detail::edge_desc_impl"** %__new_start, align 4
  %54 = load %"class.boost::detail::edge_desc_impl"** %__new_finish, align 4
  %55 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %call46 = invoke %"class.std::allocator.5"* @_ZNSt12_Vector_baseIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.4"* %55)
          to label %invoke.cont45 unwind label %lpad42

invoke.cont45:                                    ; preds = %if.else44
  invoke void @_ZSt8_DestroyIPN5boost6detail14edge_desc_implINS0_14undirected_tagEjEES4_EvT_S6_RSaIT0_E(%"class.boost::detail::edge_desc_impl"* %53, %"class.boost::detail::edge_desc_impl"* %54, %"class.std::allocator.5"* %call46)
          to label %invoke.cont47 unwind label %lpad42

invoke.cont47:                                    ; preds = %invoke.cont45
  br label %if.end

if.end:                                           ; preds = %invoke.cont47, %invoke.cont43
  %56 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %57 = load %"class.boost::detail::edge_desc_impl"** %__new_start, align 4
  %58 = load i32* %__len, align 4
  invoke void @_ZNSt12_Vector_baseIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE13_M_deallocateEPS4_j(%"struct.std::_Vector_base.4"* %56, %"class.boost::detail::edge_desc_impl"* %57, i32 %58)
          to label %invoke.cont48 unwind label %lpad42

invoke.cont48:                                    ; preds = %if.end
  invoke void @__cxa_rethrow() noreturn
          to label %unreachable unwind label %lpad42

invoke.cont49:                                    ; preds = %lpad42
  br label %eh.resume

try.cont:                                         ; preds = %invoke.cont37
  %59 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl50 = getelementptr inbounds %"struct.std::_Vector_base.4"* %59, i32 0, i32 0
  %_M_start51 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl50, i32 0, i32 0
  %60 = load %"class.boost::detail::edge_desc_impl"** %_M_start51, align 4
  %61 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl52 = getelementptr inbounds %"struct.std::_Vector_base.4"* %61, i32 0, i32 0
  %_M_finish53 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl52, i32 0, i32 1
  %62 = load %"class.boost::detail::edge_desc_impl"** %_M_finish53, align 4
  %63 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %call54 = call %"class.std::allocator.5"* @_ZNSt12_Vector_baseIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.4"* %63)
  call void @_ZSt8_DestroyIPN5boost6detail14edge_desc_implINS0_14undirected_tagEjEES4_EvT_S6_RSaIT0_E(%"class.boost::detail::edge_desc_impl"* %60, %"class.boost::detail::edge_desc_impl"* %62, %"class.std::allocator.5"* %call54)
  %64 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %65 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl55 = getelementptr inbounds %"struct.std::_Vector_base.4"* %65, i32 0, i32 0
  %_M_start56 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl55, i32 0, i32 0
  %66 = load %"class.boost::detail::edge_desc_impl"** %_M_start56, align 4
  %67 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl57 = getelementptr inbounds %"struct.std::_Vector_base.4"* %67, i32 0, i32 0
  %_M_end_of_storage58 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl57, i32 0, i32 2
  %68 = load %"class.boost::detail::edge_desc_impl"** %_M_end_of_storage58, align 4
  %69 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl59 = getelementptr inbounds %"struct.std::_Vector_base.4"* %69, i32 0, i32 0
  %_M_start60 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl59, i32 0, i32 0
  %70 = load %"class.boost::detail::edge_desc_impl"** %_M_start60, align 4
  %sub.ptr.lhs.cast = ptrtoint %"class.boost::detail::edge_desc_impl"* %68 to i32
  %sub.ptr.rhs.cast = ptrtoint %"class.boost::detail::edge_desc_impl"* %70 to i32
  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  %sub.ptr.div = sdiv exact i32 %sub.ptr.sub, 12
  call void @_ZNSt12_Vector_baseIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE13_M_deallocateEPS4_j(%"struct.std::_Vector_base.4"* %64, %"class.boost::detail::edge_desc_impl"* %66, i32 %sub.ptr.div)
  %71 = load %"class.boost::detail::edge_desc_impl"** %__new_start, align 4
  %72 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl61 = getelementptr inbounds %"struct.std::_Vector_base.4"* %72, i32 0, i32 0
  %_M_start62 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl61, i32 0, i32 0
  store %"class.boost::detail::edge_desc_impl"* %71, %"class.boost::detail::edge_desc_impl"** %_M_start62, align 4
  %73 = load %"class.boost::detail::edge_desc_impl"** %__new_finish, align 4
  %74 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl63 = getelementptr inbounds %"struct.std::_Vector_base.4"* %74, i32 0, i32 0
  %_M_finish64 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl63, i32 0, i32 1
  store %"class.boost::detail::edge_desc_impl"* %73, %"class.boost::detail::edge_desc_impl"** %_M_finish64, align 4
  %75 = load %"class.boost::detail::edge_desc_impl"** %__new_start, align 4
  %76 = load i32* %__len, align 4
  %add.ptr65 = getelementptr inbounds %"class.boost::detail::edge_desc_impl"* %75, i32 %76
  %77 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl66 = getelementptr inbounds %"struct.std::_Vector_base.4"* %77, i32 0, i32 0
  %_M_end_of_storage67 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl66, i32 0, i32 2
  store %"class.boost::detail::edge_desc_impl"* %add.ptr65, %"class.boost::detail::edge_desc_impl"** %_M_end_of_storage67, align 4
  br label %if.end68

if.end68:                                         ; preds = %try.cont, %if.then
  ret void

eh.resume:                                        ; preds = %invoke.cont49
  %exn69 = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn69, 0
  %lpad.val70 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val70

terminate.lpad:                                   ; preds = %lpad42
  %78 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable

unreachable:                                      ; preds = %invoke.cont48
  unreachable
}

define linkonce_odr %"class.boost::detail::edge_desc_impl"* @_ZSt13copy_backwardIPN5boost6detail14edge_desc_implINS0_14undirected_tagEjEES5_ET0_T_S7_S6_(%"class.boost::detail::edge_desc_impl"* %__first, %"class.boost::detail::edge_desc_impl"* %__last, %"class.boost::detail::edge_desc_impl"* %__result) inlinehint {
entry:
  %__first.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %__last.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %__result.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  store %"class.boost::detail::edge_desc_impl"* %__first, %"class.boost::detail::edge_desc_impl"** %__first.addr, align 4
  store %"class.boost::detail::edge_desc_impl"* %__last, %"class.boost::detail::edge_desc_impl"** %__last.addr, align 4
  store %"class.boost::detail::edge_desc_impl"* %__result, %"class.boost::detail::edge_desc_impl"** %__result.addr, align 4
  %0 = load %"class.boost::detail::edge_desc_impl"** %__first.addr, align 4
  %call = call %"class.boost::detail::edge_desc_impl"* @_ZSt12__miter_baseIPN5boost6detail14edge_desc_implINS0_14undirected_tagEjEEENSt11_Miter_baseIT_E13iterator_typeES7_(%"class.boost::detail::edge_desc_impl"* %0)
  %1 = load %"class.boost::detail::edge_desc_impl"** %__last.addr, align 4
  %call1 = call %"class.boost::detail::edge_desc_impl"* @_ZSt12__miter_baseIPN5boost6detail14edge_desc_implINS0_14undirected_tagEjEEENSt11_Miter_baseIT_E13iterator_typeES7_(%"class.boost::detail::edge_desc_impl"* %1)
  %2 = load %"class.boost::detail::edge_desc_impl"** %__result.addr, align 4
  %call2 = call %"class.boost::detail::edge_desc_impl"* @_ZSt23__copy_move_backward_a2ILb0EPN5boost6detail14edge_desc_implINS0_14undirected_tagEjEES5_ET1_T0_S7_S6_(%"class.boost::detail::edge_desc_impl"* %call, %"class.boost::detail::edge_desc_impl"* %call1, %"class.boost::detail::edge_desc_impl"* %2)
  ret %"class.boost::detail::edge_desc_impl"* %call2
}

define linkonce_odr i32 @_ZNKSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE12_M_check_lenEjPKc(%"class.std::vector.3"* %this, i32 %__n, i8* %__s) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.3"*, align 4
  %__n.addr = alloca i32, align 4
  %__s.addr = alloca i8*, align 4
  %__len = alloca i32, align 4
  %ref.tmp = alloca i32, align 4
  store %"class.std::vector.3"* %this, %"class.std::vector.3"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store i8* %__s, i8** %__s.addr, align 4
  %this1 = load %"class.std::vector.3"** %this.addr
  %call = call i32 @_ZNKSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE8max_sizeEv(%"class.std::vector.3"* %this1)
  %call2 = call i32 @_ZNKSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE4sizeEv(%"class.std::vector.3"* %this1)
  %sub = sub i32 %call, %call2
  %0 = load i32* %__n.addr, align 4
  %cmp = icmp ult i32 %sub, %0
  br i1 %cmp, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  %1 = load i8** %__s.addr, align 4
  call void @_ZSt20__throw_length_errorPKc(i8* %1) noreturn
  unreachable

if.end:                                           ; preds = %entry
  %call3 = call i32 @_ZNKSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE4sizeEv(%"class.std::vector.3"* %this1)
  %call4 = call i32 @_ZNKSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE4sizeEv(%"class.std::vector.3"* %this1)
  store i32 %call4, i32* %ref.tmp, align 4
  %call5 = call i32* @_ZSt3maxIjERKT_S2_S2_(i32* %ref.tmp, i32* %__n.addr)
  %2 = load i32* %call5
  %add = add i32 %call3, %2
  store i32 %add, i32* %__len, align 4
  %3 = load i32* %__len, align 4
  %call6 = call i32 @_ZNKSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE4sizeEv(%"class.std::vector.3"* %this1)
  %cmp7 = icmp ult i32 %3, %call6
  br i1 %cmp7, label %cond.true, label %lor.lhs.false

lor.lhs.false:                                    ; preds = %if.end
  %4 = load i32* %__len, align 4
  %call8 = call i32 @_ZNKSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE8max_sizeEv(%"class.std::vector.3"* %this1)
  %cmp9 = icmp ugt i32 %4, %call8
  br i1 %cmp9, label %cond.true, label %cond.false

cond.true:                                        ; preds = %lor.lhs.false, %if.end
  %call10 = call i32 @_ZNKSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE8max_sizeEv(%"class.std::vector.3"* %this1)
  br label %cond.end

cond.false:                                       ; preds = %lor.lhs.false
  %5 = load i32* %__len, align 4
  br label %cond.end

cond.end:                                         ; preds = %cond.false, %cond.true
  %cond = phi i32 [ %call10, %cond.true ], [ %5, %cond.false ]
  ret i32 %cond
}

define linkonce_odr %"class.boost::detail::edge_desc_impl"* @_ZNSt12_Vector_baseIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE11_M_allocateEj(%"struct.std::_Vector_base.4"* %this, i32 %__n) align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base.4"*, align 4
  %__n.addr = alloca i32, align 4
  store %"struct.std::_Vector_base.4"* %this, %"struct.std::_Vector_base.4"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  %this1 = load %"struct.std::_Vector_base.4"** %this.addr
  %0 = load i32* %__n.addr, align 4
  %cmp = icmp ne i32 %0, 0
  br i1 %cmp, label %cond.true, label %cond.false

cond.true:                                        ; preds = %entry
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.4"* %this1, i32 0, i32 0
  %1 = bitcast %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl to %"class.__gnu_cxx::new_allocator.6"*
  %2 = load i32* %__n.addr, align 4
  %call = call %"class.boost::detail::edge_desc_impl"* @_ZN9__gnu_cxx13new_allocatorIN5boost6detail14edge_desc_implINS1_14undirected_tagEjEEE8allocateEjPKv(%"class.__gnu_cxx::new_allocator.6"* %1, i32 %2, i8* null)
  br label %cond.end

cond.false:                                       ; preds = %entry
  br label %cond.end

cond.end:                                         ; preds = %cond.false, %cond.true
  %cond = phi %"class.boost::detail::edge_desc_impl"* [ %call, %cond.true ], [ null, %cond.false ]
  ret %"class.boost::detail::edge_desc_impl"* %cond
}

define linkonce_odr %"class.boost::detail::edge_desc_impl"* @_ZSt22__uninitialized_move_aIPN5boost6detail14edge_desc_implINS0_14undirected_tagEjEES5_SaIS4_EET0_T_S8_S7_RT1_(%"class.boost::detail::edge_desc_impl"* %__first, %"class.boost::detail::edge_desc_impl"* %__last, %"class.boost::detail::edge_desc_impl"* %__result, %"class.std::allocator.5"* %__alloc) inlinehint {
entry:
  %__first.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %__last.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %__result.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %__alloc.addr = alloca %"class.std::allocator.5"*, align 4
  store %"class.boost::detail::edge_desc_impl"* %__first, %"class.boost::detail::edge_desc_impl"** %__first.addr, align 4
  store %"class.boost::detail::edge_desc_impl"* %__last, %"class.boost::detail::edge_desc_impl"** %__last.addr, align 4
  store %"class.boost::detail::edge_desc_impl"* %__result, %"class.boost::detail::edge_desc_impl"** %__result.addr, align 4
  store %"class.std::allocator.5"* %__alloc, %"class.std::allocator.5"** %__alloc.addr, align 4
  %0 = load %"class.boost::detail::edge_desc_impl"** %__first.addr, align 4
  %1 = load %"class.boost::detail::edge_desc_impl"** %__last.addr, align 4
  %2 = load %"class.boost::detail::edge_desc_impl"** %__result.addr, align 4
  %3 = load %"class.std::allocator.5"** %__alloc.addr, align 4
  %call = call %"class.boost::detail::edge_desc_impl"* @_ZSt22__uninitialized_copy_aIPN5boost6detail14edge_desc_implINS0_14undirected_tagEjEES5_S4_ET0_T_S7_S6_RSaIT1_E(%"class.boost::detail::edge_desc_impl"* %0, %"class.boost::detail::edge_desc_impl"* %1, %"class.boost::detail::edge_desc_impl"* %2, %"class.std::allocator.5"* %3)
  ret %"class.boost::detail::edge_desc_impl"* %call
}

define linkonce_odr %"class.std::allocator.5"* @_ZNSt12_Vector_baseIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.4"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base.4"*, align 4
  store %"struct.std::_Vector_base.4"* %this, %"struct.std::_Vector_base.4"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base.4"** %this.addr
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.4"* %this1, i32 0, i32 0
  %0 = bitcast %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl to %"class.std::allocator.5"*
  ret %"class.std::allocator.5"* %0
}

declare i8* @__cxa_begin_catch(i8*)

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail14edge_desc_implINS1_14undirected_tagEjEEE7destroyEPS5_(%"class.__gnu_cxx::new_allocator.6"* %this, %"class.boost::detail::edge_desc_impl"* %__p) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.6"*, align 4
  %__p.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  store %"class.__gnu_cxx::new_allocator.6"* %this, %"class.__gnu_cxx::new_allocator.6"** %this.addr, align 4
  store %"class.boost::detail::edge_desc_impl"* %__p, %"class.boost::detail::edge_desc_impl"** %__p.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.6"** %this.addr
  %0 = load %"class.boost::detail::edge_desc_impl"** %__p.addr, align 4
  ret void
}

define linkonce_odr void @_ZSt8_DestroyIPN5boost6detail14edge_desc_implINS0_14undirected_tagEjEES4_EvT_S6_RSaIT0_E(%"class.boost::detail::edge_desc_impl"* %__first, %"class.boost::detail::edge_desc_impl"* %__last, %"class.std::allocator.5"*) inlinehint {
entry:
  %__first.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %__last.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %.addr = alloca %"class.std::allocator.5"*, align 4
  store %"class.boost::detail::edge_desc_impl"* %__first, %"class.boost::detail::edge_desc_impl"** %__first.addr, align 4
  store %"class.boost::detail::edge_desc_impl"* %__last, %"class.boost::detail::edge_desc_impl"** %__last.addr, align 4
  store %"class.std::allocator.5"* %0, %"class.std::allocator.5"** %.addr, align 4
  %1 = load %"class.boost::detail::edge_desc_impl"** %__first.addr, align 4
  %2 = load %"class.boost::detail::edge_desc_impl"** %__last.addr, align 4
  call void @_ZSt8_DestroyIPN5boost6detail14edge_desc_implINS0_14undirected_tagEjEEEvT_S6_(%"class.boost::detail::edge_desc_impl"* %1, %"class.boost::detail::edge_desc_impl"* %2)
  ret void
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE13_M_deallocateEPS4_j(%"struct.std::_Vector_base.4"* %this, %"class.boost::detail::edge_desc_impl"* %__p, i32 %__n) align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base.4"*, align 4
  %__p.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %__n.addr = alloca i32, align 4
  store %"struct.std::_Vector_base.4"* %this, %"struct.std::_Vector_base.4"** %this.addr, align 4
  store %"class.boost::detail::edge_desc_impl"* %__p, %"class.boost::detail::edge_desc_impl"** %__p.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  %this1 = load %"struct.std::_Vector_base.4"** %this.addr
  %0 = load %"class.boost::detail::edge_desc_impl"** %__p.addr, align 4
  %tobool = icmp ne %"class.boost::detail::edge_desc_impl"* %0, null
  br i1 %tobool, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.4"* %this1, i32 0, i32 0
  %1 = bitcast %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl to %"class.__gnu_cxx::new_allocator.6"*
  %2 = load %"class.boost::detail::edge_desc_impl"** %__p.addr, align 4
  %3 = load i32* %__n.addr, align 4
  call void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail14edge_desc_implINS1_14undirected_tagEjEEE10deallocateEPS5_j(%"class.__gnu_cxx::new_allocator.6"* %1, %"class.boost::detail::edge_desc_impl"* %2, i32 %3)
  br label %if.end

if.end:                                           ; preds = %if.then, %entry
  ret void
}

declare void @__cxa_rethrow()

declare void @__cxa_end_catch()

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail14edge_desc_implINS1_14undirected_tagEjEEE10deallocateEPS5_j(%"class.__gnu_cxx::new_allocator.6"* %this, %"class.boost::detail::edge_desc_impl"* %__p, i32) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.6"*, align 4
  %__p.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %.addr = alloca i32, align 4
  store %"class.__gnu_cxx::new_allocator.6"* %this, %"class.__gnu_cxx::new_allocator.6"** %this.addr, align 4
  store %"class.boost::detail::edge_desc_impl"* %__p, %"class.boost::detail::edge_desc_impl"** %__p.addr, align 4
  store i32 %0, i32* %.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.6"** %this.addr
  %1 = load %"class.boost::detail::edge_desc_impl"** %__p.addr, align 4
  %2 = bitcast %"class.boost::detail::edge_desc_impl"* %1 to i8*
  call void @_ZdlPv(i8* %2) nounwind
  ret void
}

define linkonce_odr void @_ZSt8_DestroyIPN5boost6detail14edge_desc_implINS0_14undirected_tagEjEEEvT_S6_(%"class.boost::detail::edge_desc_impl"* %__first, %"class.boost::detail::edge_desc_impl"* %__last) inlinehint {
entry:
  %__first.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %__last.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  store %"class.boost::detail::edge_desc_impl"* %__first, %"class.boost::detail::edge_desc_impl"** %__first.addr, align 4
  store %"class.boost::detail::edge_desc_impl"* %__last, %"class.boost::detail::edge_desc_impl"** %__last.addr, align 4
  %0 = load %"class.boost::detail::edge_desc_impl"** %__first.addr, align 4
  %1 = load %"class.boost::detail::edge_desc_impl"** %__last.addr, align 4
  call void @_ZNSt12_Destroy_auxILb1EE9__destroyIPN5boost6detail14edge_desc_implINS2_14undirected_tagEjEEEEvT_S8_(%"class.boost::detail::edge_desc_impl"* %0, %"class.boost::detail::edge_desc_impl"* %1)
  ret void
}

define linkonce_odr void @_ZNSt12_Destroy_auxILb1EE9__destroyIPN5boost6detail14edge_desc_implINS2_14undirected_tagEjEEEEvT_S8_(%"class.boost::detail::edge_desc_impl"*, %"class.boost::detail::edge_desc_impl"*) nounwind align 2 {
entry:
  %.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %.addr1 = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  store %"class.boost::detail::edge_desc_impl"* %0, %"class.boost::detail::edge_desc_impl"** %.addr, align 4
  store %"class.boost::detail::edge_desc_impl"* %1, %"class.boost::detail::edge_desc_impl"** %.addr1, align 4
  ret void
}

define linkonce_odr %"class.boost::detail::edge_desc_impl"* @_ZSt22__uninitialized_copy_aIPN5boost6detail14edge_desc_implINS0_14undirected_tagEjEES5_S4_ET0_T_S7_S6_RSaIT1_E(%"class.boost::detail::edge_desc_impl"* %__first, %"class.boost::detail::edge_desc_impl"* %__last, %"class.boost::detail::edge_desc_impl"* %__result, %"class.std::allocator.5"*) inlinehint {
entry:
  %__first.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %__last.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %__result.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %.addr = alloca %"class.std::allocator.5"*, align 4
  store %"class.boost::detail::edge_desc_impl"* %__first, %"class.boost::detail::edge_desc_impl"** %__first.addr, align 4
  store %"class.boost::detail::edge_desc_impl"* %__last, %"class.boost::detail::edge_desc_impl"** %__last.addr, align 4
  store %"class.boost::detail::edge_desc_impl"* %__result, %"class.boost::detail::edge_desc_impl"** %__result.addr, align 4
  store %"class.std::allocator.5"* %0, %"class.std::allocator.5"** %.addr, align 4
  %1 = load %"class.boost::detail::edge_desc_impl"** %__first.addr, align 4
  %2 = load %"class.boost::detail::edge_desc_impl"** %__last.addr, align 4
  %3 = load %"class.boost::detail::edge_desc_impl"** %__result.addr, align 4
  %call = call %"class.boost::detail::edge_desc_impl"* @_ZSt18uninitialized_copyIPN5boost6detail14edge_desc_implINS0_14undirected_tagEjEES5_ET0_T_S7_S6_(%"class.boost::detail::edge_desc_impl"* %1, %"class.boost::detail::edge_desc_impl"* %2, %"class.boost::detail::edge_desc_impl"* %3)
  ret %"class.boost::detail::edge_desc_impl"* %call
}

define linkonce_odr %"class.boost::detail::edge_desc_impl"* @_ZSt18uninitialized_copyIPN5boost6detail14edge_desc_implINS0_14undirected_tagEjEES5_ET0_T_S7_S6_(%"class.boost::detail::edge_desc_impl"* %__first, %"class.boost::detail::edge_desc_impl"* %__last, %"class.boost::detail::edge_desc_impl"* %__result) inlinehint {
entry:
  %__first.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %__last.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %__result.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  store %"class.boost::detail::edge_desc_impl"* %__first, %"class.boost::detail::edge_desc_impl"** %__first.addr, align 4
  store %"class.boost::detail::edge_desc_impl"* %__last, %"class.boost::detail::edge_desc_impl"** %__last.addr, align 4
  store %"class.boost::detail::edge_desc_impl"* %__result, %"class.boost::detail::edge_desc_impl"** %__result.addr, align 4
  %0 = load %"class.boost::detail::edge_desc_impl"** %__first.addr, align 4
  %1 = load %"class.boost::detail::edge_desc_impl"** %__last.addr, align 4
  %2 = load %"class.boost::detail::edge_desc_impl"** %__result.addr, align 4
  %call = call %"class.boost::detail::edge_desc_impl"* @_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIPN5boost6detail14edge_desc_implINS2_14undirected_tagEjEES7_EET0_T_S9_S8_(%"class.boost::detail::edge_desc_impl"* %0, %"class.boost::detail::edge_desc_impl"* %1, %"class.boost::detail::edge_desc_impl"* %2)
  ret %"class.boost::detail::edge_desc_impl"* %call
}

define linkonce_odr %"class.boost::detail::edge_desc_impl"* @_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIPN5boost6detail14edge_desc_implINS2_14undirected_tagEjEES7_EET0_T_S9_S8_(%"class.boost::detail::edge_desc_impl"* %__first, %"class.boost::detail::edge_desc_impl"* %__last, %"class.boost::detail::edge_desc_impl"* %__result) align 2 {
entry:
  %__first.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %__last.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %__result.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %__cur = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.boost::detail::edge_desc_impl"* %__first, %"class.boost::detail::edge_desc_impl"** %__first.addr, align 4
  store %"class.boost::detail::edge_desc_impl"* %__last, %"class.boost::detail::edge_desc_impl"** %__last.addr, align 4
  store %"class.boost::detail::edge_desc_impl"* %__result, %"class.boost::detail::edge_desc_impl"** %__result.addr, align 4
  %0 = load %"class.boost::detail::edge_desc_impl"** %__result.addr, align 4
  store %"class.boost::detail::edge_desc_impl"* %0, %"class.boost::detail::edge_desc_impl"** %__cur, align 4
  br label %for.cond

for.cond:                                         ; preds = %for.inc, %entry
  %1 = load %"class.boost::detail::edge_desc_impl"** %__first.addr, align 4
  %2 = load %"class.boost::detail::edge_desc_impl"** %__last.addr, align 4
  %cmp = icmp ne %"class.boost::detail::edge_desc_impl"* %1, %2
  br i1 %cmp, label %for.body, label %for.end

for.body:                                         ; preds = %for.cond
  %3 = load %"class.boost::detail::edge_desc_impl"** %__cur, align 4
  %call = invoke %"class.boost::detail::edge_desc_impl"* @_ZSt11__addressofIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEEEPT_RS5_(%"class.boost::detail::edge_desc_impl"* %3)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %for.body
  %4 = load %"class.boost::detail::edge_desc_impl"** %__first.addr, align 4
  invoke void @_ZSt10_ConstructIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEES4_EvPT_RKT0_(%"class.boost::detail::edge_desc_impl"* %call, %"class.boost::detail::edge_desc_impl"* %4)
          to label %invoke.cont1 unwind label %lpad

invoke.cont1:                                     ; preds = %invoke.cont
  br label %for.inc

for.inc:                                          ; preds = %invoke.cont1
  %5 = load %"class.boost::detail::edge_desc_impl"** %__first.addr, align 4
  %incdec.ptr = getelementptr inbounds %"class.boost::detail::edge_desc_impl"* %5, i32 1
  store %"class.boost::detail::edge_desc_impl"* %incdec.ptr, %"class.boost::detail::edge_desc_impl"** %__first.addr, align 4
  %6 = load %"class.boost::detail::edge_desc_impl"** %__cur, align 4
  %incdec.ptr2 = getelementptr inbounds %"class.boost::detail::edge_desc_impl"* %6, i32 1
  store %"class.boost::detail::edge_desc_impl"* %incdec.ptr2, %"class.boost::detail::edge_desc_impl"** %__cur, align 4
  br label %for.cond

lpad:                                             ; preds = %invoke.cont, %for.body
  %7 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  %8 = extractvalue { i8*, i32 } %7, 0
  store i8* %8, i8** %exn.slot
  %9 = extractvalue { i8*, i32 } %7, 1
  store i32 %9, i32* %ehselector.slot
  br label %catch

catch:                                            ; preds = %lpad
  %exn = load i8** %exn.slot
  %10 = call i8* @__cxa_begin_catch(i8* %exn) nounwind
  %11 = load %"class.boost::detail::edge_desc_impl"** %__result.addr, align 4
  %12 = load %"class.boost::detail::edge_desc_impl"** %__cur, align 4
  invoke void @_ZSt8_DestroyIPN5boost6detail14edge_desc_implINS0_14undirected_tagEjEEEvT_S6_(%"class.boost::detail::edge_desc_impl"* %11, %"class.boost::detail::edge_desc_impl"* %12)
          to label %invoke.cont4 unwind label %lpad3

invoke.cont4:                                     ; preds = %catch
  invoke void @__cxa_rethrow() noreturn
          to label %unreachable unwind label %lpad3

for.end:                                          ; preds = %for.cond
  %13 = load %"class.boost::detail::edge_desc_impl"** %__cur, align 4
  ret %"class.boost::detail::edge_desc_impl"* %13

lpad3:                                            ; preds = %invoke.cont4, %catch
  %14 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %15 = extractvalue { i8*, i32 } %14, 0
  store i8* %15, i8** %exn.slot
  %16 = extractvalue { i8*, i32 } %14, 1
  store i32 %16, i32* %ehselector.slot
  invoke void @__cxa_end_catch()
          to label %invoke.cont5 unwind label %terminate.lpad

invoke.cont5:                                     ; preds = %lpad3
  br label %eh.resume

try.cont:                                         ; No predecessors!
  call void @llvm.trap()
  unreachable

eh.resume:                                        ; preds = %invoke.cont5
  %exn6 = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn6, 0
  %lpad.val7 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val7

terminate.lpad:                                   ; preds = %lpad3
  %17 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable

unreachable:                                      ; preds = %invoke.cont4
  unreachable
}

define linkonce_odr void @_ZSt10_ConstructIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEES4_EvPT_RKT0_(%"class.boost::detail::edge_desc_impl"* %__p, %"class.boost::detail::edge_desc_impl"* %__value) nounwind inlinehint {
entry:
  %__p.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %__value.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  store %"class.boost::detail::edge_desc_impl"* %__p, %"class.boost::detail::edge_desc_impl"** %__p.addr, align 4
  store %"class.boost::detail::edge_desc_impl"* %__value, %"class.boost::detail::edge_desc_impl"** %__value.addr, align 4
  %0 = load %"class.boost::detail::edge_desc_impl"** %__p.addr, align 4
  %1 = bitcast %"class.boost::detail::edge_desc_impl"* %0 to i8*
  %new.isnull = icmp eq i8* %1, null
  br i1 %new.isnull, label %new.cont, label %new.notnull

new.notnull:                                      ; preds = %entry
  %2 = bitcast i8* %1 to %"class.boost::detail::edge_desc_impl"*
  %3 = load %"class.boost::detail::edge_desc_impl"** %__value.addr, align 4
  %4 = bitcast %"class.boost::detail::edge_desc_impl"* %2 to i8*
  %5 = bitcast %"class.boost::detail::edge_desc_impl"* %3 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %5, i32 12, i32 4, i1 false)
  br label %new.cont

new.cont:                                         ; preds = %new.notnull, %entry
  %6 = phi %"class.boost::detail::edge_desc_impl"* [ %2, %new.notnull ], [ null, %entry ]
  ret void
}

define linkonce_odr %"class.boost::detail::edge_desc_impl"* @_ZSt11__addressofIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEEEPT_RS5_(%"class.boost::detail::edge_desc_impl"* %__r) nounwind inlinehint {
entry:
  %__r.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  store %"class.boost::detail::edge_desc_impl"* %__r, %"class.boost::detail::edge_desc_impl"** %__r.addr, align 4
  %0 = load %"class.boost::detail::edge_desc_impl"** %__r.addr, align 4
  %1 = bitcast %"class.boost::detail::edge_desc_impl"* %0 to i8*
  %2 = bitcast i8* %1 to %"class.boost::detail::edge_desc_impl"*
  ret %"class.boost::detail::edge_desc_impl"* %2
}

declare void @llvm.trap() noreturn nounwind

define linkonce_odr %"class.boost::detail::edge_desc_impl"* @_ZN9__gnu_cxx13new_allocatorIN5boost6detail14edge_desc_implINS1_14undirected_tagEjEEE8allocateEjPKv(%"class.__gnu_cxx::new_allocator.6"* %this, i32 %__n, i8*) align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.6"*, align 4
  %__n.addr = alloca i32, align 4
  %.addr = alloca i8*, align 4
  store %"class.__gnu_cxx::new_allocator.6"* %this, %"class.__gnu_cxx::new_allocator.6"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store i8* %0, i8** %.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.6"** %this.addr
  %1 = load i32* %__n.addr, align 4
  %call = call i32 @_ZNK9__gnu_cxx13new_allocatorIN5boost6detail14edge_desc_implINS1_14undirected_tagEjEEE8max_sizeEv(%"class.__gnu_cxx::new_allocator.6"* %this1) nounwind
  %cmp = icmp ugt i32 %1, %call
  br i1 %cmp, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  call void @_ZSt17__throw_bad_allocv() noreturn
  unreachable

if.end:                                           ; preds = %entry
  %2 = load i32* %__n.addr, align 4
  %mul = mul i32 %2, 12
  %call2 = call noalias i8* @_Znwj(i32 %mul)
  %3 = bitcast i8* %call2 to %"class.boost::detail::edge_desc_impl"*
  ret %"class.boost::detail::edge_desc_impl"* %3
}

define linkonce_odr i32 @_ZNK9__gnu_cxx13new_allocatorIN5boost6detail14edge_desc_implINS1_14undirected_tagEjEEE8max_sizeEv(%"class.__gnu_cxx::new_allocator.6"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.6"*, align 4
  store %"class.__gnu_cxx::new_allocator.6"* %this, %"class.__gnu_cxx::new_allocator.6"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.6"** %this.addr
  ret i32 357913941
}

declare void @_ZSt17__throw_bad_allocv() noreturn

declare noalias i8* @_Znwj(i32)

define linkonce_odr i32 @_ZNKSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE8max_sizeEv(%"class.std::vector.3"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.3"*, align 4
  store %"class.std::vector.3"* %this, %"class.std::vector.3"** %this.addr, align 4
  %this1 = load %"class.std::vector.3"** %this.addr
  %0 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %call = call %"class.std::allocator.5"* @_ZNKSt12_Vector_baseIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.4"* %0)
  %1 = bitcast %"class.std::allocator.5"* %call to %"class.__gnu_cxx::new_allocator.6"*
  %call2 = call i32 @_ZNK9__gnu_cxx13new_allocatorIN5boost6detail14edge_desc_implINS1_14undirected_tagEjEEE8max_sizeEv(%"class.__gnu_cxx::new_allocator.6"* %1) nounwind
  ret i32 %call2
}

define linkonce_odr i32 @_ZNKSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE4sizeEv(%"class.std::vector.3"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::vector.3"*, align 4
  store %"class.std::vector.3"* %this, %"class.std::vector.3"** %this.addr, align 4
  %this1 = load %"class.std::vector.3"** %this.addr
  %0 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.4"* %0, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl, i32 0, i32 1
  %1 = load %"class.boost::detail::edge_desc_impl"** %_M_finish, align 4
  %2 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base.4"* %2, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl2, i32 0, i32 0
  %3 = load %"class.boost::detail::edge_desc_impl"** %_M_start, align 4
  %sub.ptr.lhs.cast = ptrtoint %"class.boost::detail::edge_desc_impl"* %1 to i32
  %sub.ptr.rhs.cast = ptrtoint %"class.boost::detail::edge_desc_impl"* %3 to i32
  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  %sub.ptr.div = sdiv exact i32 %sub.ptr.sub, 12
  ret i32 %sub.ptr.div
}

declare void @_ZSt20__throw_length_errorPKc(i8*) noreturn

define linkonce_odr i32* @_ZSt3maxIjERKT_S2_S2_(i32* %__a, i32* %__b) nounwind {
entry:
  %retval = alloca i32*, align 4
  %__a.addr = alloca i32*, align 4
  %__b.addr = alloca i32*, align 4
  store i32* %__a, i32** %__a.addr, align 4
  store i32* %__b, i32** %__b.addr, align 4
  %0 = load i32** %__a.addr, align 4
  %1 = load i32* %0, align 4
  %2 = load i32** %__b.addr, align 4
  %3 = load i32* %2, align 4
  %cmp = icmp ult i32 %1, %3
  br i1 %cmp, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  %4 = load i32** %__b.addr, align 4
  store i32* %4, i32** %retval
  br label %return

if.end:                                           ; preds = %entry
  %5 = load i32** %__a.addr, align 4
  store i32* %5, i32** %retval
  br label %return

return:                                           ; preds = %if.end, %if.then
  %6 = load i32** %retval
  ret i32* %6
}

define linkonce_odr %"class.std::allocator.5"* @_ZNKSt12_Vector_baseIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.4"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base.4"*, align 4
  store %"struct.std::_Vector_base.4"* %this, %"struct.std::_Vector_base.4"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base.4"** %this.addr
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.4"* %this1, i32 0, i32 0
  %0 = bitcast %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl to %"class.std::allocator.5"*
  ret %"class.std::allocator.5"* %0
}

define linkonce_odr %"class.boost::detail::edge_desc_impl"* @_ZSt23__copy_move_backward_a2ILb0EPN5boost6detail14edge_desc_implINS0_14undirected_tagEjEES5_ET1_T0_S7_S6_(%"class.boost::detail::edge_desc_impl"* %__first, %"class.boost::detail::edge_desc_impl"* %__last, %"class.boost::detail::edge_desc_impl"* %__result) inlinehint {
entry:
  %__first.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %__last.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %__result.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  store %"class.boost::detail::edge_desc_impl"* %__first, %"class.boost::detail::edge_desc_impl"** %__first.addr, align 4
  store %"class.boost::detail::edge_desc_impl"* %__last, %"class.boost::detail::edge_desc_impl"** %__last.addr, align 4
  store %"class.boost::detail::edge_desc_impl"* %__result, %"class.boost::detail::edge_desc_impl"** %__result.addr, align 4
  %0 = load %"class.boost::detail::edge_desc_impl"** %__first.addr, align 4
  %call = call %"class.boost::detail::edge_desc_impl"* @_ZSt12__niter_baseIPN5boost6detail14edge_desc_implINS0_14undirected_tagEjEEENSt11_Niter_baseIT_E13iterator_typeES7_(%"class.boost::detail::edge_desc_impl"* %0)
  %1 = load %"class.boost::detail::edge_desc_impl"** %__last.addr, align 4
  %call1 = call %"class.boost::detail::edge_desc_impl"* @_ZSt12__niter_baseIPN5boost6detail14edge_desc_implINS0_14undirected_tagEjEEENSt11_Niter_baseIT_E13iterator_typeES7_(%"class.boost::detail::edge_desc_impl"* %1)
  %2 = load %"class.boost::detail::edge_desc_impl"** %__result.addr, align 4
  %call2 = call %"class.boost::detail::edge_desc_impl"* @_ZSt12__niter_baseIPN5boost6detail14edge_desc_implINS0_14undirected_tagEjEEENSt11_Niter_baseIT_E13iterator_typeES7_(%"class.boost::detail::edge_desc_impl"* %2)
  %call3 = call %"class.boost::detail::edge_desc_impl"* @_ZSt22__copy_move_backward_aILb0EPN5boost6detail14edge_desc_implINS0_14undirected_tagEjEES5_ET1_T0_S7_S6_(%"class.boost::detail::edge_desc_impl"* %call, %"class.boost::detail::edge_desc_impl"* %call1, %"class.boost::detail::edge_desc_impl"* %call2)
  ret %"class.boost::detail::edge_desc_impl"* %call3
}

define linkonce_odr %"class.boost::detail::edge_desc_impl"* @_ZSt12__miter_baseIPN5boost6detail14edge_desc_implINS0_14undirected_tagEjEEENSt11_Miter_baseIT_E13iterator_typeES7_(%"class.boost::detail::edge_desc_impl"* %__it) inlinehint {
entry:
  %__it.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  store %"class.boost::detail::edge_desc_impl"* %__it, %"class.boost::detail::edge_desc_impl"** %__it.addr, align 4
  %0 = load %"class.boost::detail::edge_desc_impl"** %__it.addr, align 4
  %call = call %"class.boost::detail::edge_desc_impl"* @_ZNSt10_Iter_baseIPN5boost6detail14edge_desc_implINS0_14undirected_tagEjEELb0EE7_S_baseES5_(%"class.boost::detail::edge_desc_impl"* %0)
  ret %"class.boost::detail::edge_desc_impl"* %call
}

define linkonce_odr %"class.boost::detail::edge_desc_impl"* @_ZNSt10_Iter_baseIPN5boost6detail14edge_desc_implINS0_14undirected_tagEjEELb0EE7_S_baseES5_(%"class.boost::detail::edge_desc_impl"* %__it) nounwind align 2 {
entry:
  %__it.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  store %"class.boost::detail::edge_desc_impl"* %__it, %"class.boost::detail::edge_desc_impl"** %__it.addr, align 4
  %0 = load %"class.boost::detail::edge_desc_impl"** %__it.addr, align 4
  ret %"class.boost::detail::edge_desc_impl"* %0
}

define linkonce_odr %"class.boost::detail::edge_desc_impl"* @_ZSt22__copy_move_backward_aILb0EPN5boost6detail14edge_desc_implINS0_14undirected_tagEjEES5_ET1_T0_S7_S6_(%"class.boost::detail::edge_desc_impl"* %__first, %"class.boost::detail::edge_desc_impl"* %__last, %"class.boost::detail::edge_desc_impl"* %__result) inlinehint {
entry:
  %__first.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %__last.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %__result.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %__simple = alloca i8, align 1
  store %"class.boost::detail::edge_desc_impl"* %__first, %"class.boost::detail::edge_desc_impl"** %__first.addr, align 4
  store %"class.boost::detail::edge_desc_impl"* %__last, %"class.boost::detail::edge_desc_impl"** %__last.addr, align 4
  store %"class.boost::detail::edge_desc_impl"* %__result, %"class.boost::detail::edge_desc_impl"** %__result.addr, align 4
  store i8 0, i8* %__simple, align 1
  %0 = load %"class.boost::detail::edge_desc_impl"** %__first.addr, align 4
  %1 = load %"class.boost::detail::edge_desc_impl"** %__last.addr, align 4
  %2 = load %"class.boost::detail::edge_desc_impl"** %__result.addr, align 4
  %call = call %"class.boost::detail::edge_desc_impl"* @_ZNSt20__copy_move_backwardILb0ELb0ESt26random_access_iterator_tagE13__copy_move_bIPN5boost6detail14edge_desc_implINS3_14undirected_tagEjEES8_EET0_T_SA_S9_(%"class.boost::detail::edge_desc_impl"* %0, %"class.boost::detail::edge_desc_impl"* %1, %"class.boost::detail::edge_desc_impl"* %2)
  ret %"class.boost::detail::edge_desc_impl"* %call
}

define linkonce_odr %"class.boost::detail::edge_desc_impl"* @_ZSt12__niter_baseIPN5boost6detail14edge_desc_implINS0_14undirected_tagEjEEENSt11_Niter_baseIT_E13iterator_typeES7_(%"class.boost::detail::edge_desc_impl"* %__it) nounwind inlinehint {
entry:
  %__it.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  store %"class.boost::detail::edge_desc_impl"* %__it, %"class.boost::detail::edge_desc_impl"** %__it.addr, align 4
  %0 = load %"class.boost::detail::edge_desc_impl"** %__it.addr, align 4
  %call = call %"class.boost::detail::edge_desc_impl"* @_ZNSt10_Iter_baseIPN5boost6detail14edge_desc_implINS0_14undirected_tagEjEELb0EE7_S_baseES5_(%"class.boost::detail::edge_desc_impl"* %0)
  ret %"class.boost::detail::edge_desc_impl"* %call
}

define linkonce_odr %"class.boost::detail::edge_desc_impl"* @_ZNSt20__copy_move_backwardILb0ELb0ESt26random_access_iterator_tagE13__copy_move_bIPN5boost6detail14edge_desc_implINS3_14undirected_tagEjEES8_EET0_T_SA_S9_(%"class.boost::detail::edge_desc_impl"* %__first, %"class.boost::detail::edge_desc_impl"* %__last, %"class.boost::detail::edge_desc_impl"* %__result) nounwind align 2 {
entry:
  %__first.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %__last.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %__result.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %__n = alloca i32, align 4
  store %"class.boost::detail::edge_desc_impl"* %__first, %"class.boost::detail::edge_desc_impl"** %__first.addr, align 4
  store %"class.boost::detail::edge_desc_impl"* %__last, %"class.boost::detail::edge_desc_impl"** %__last.addr, align 4
  store %"class.boost::detail::edge_desc_impl"* %__result, %"class.boost::detail::edge_desc_impl"** %__result.addr, align 4
  %0 = load %"class.boost::detail::edge_desc_impl"** %__last.addr, align 4
  %1 = load %"class.boost::detail::edge_desc_impl"** %__first.addr, align 4
  %sub.ptr.lhs.cast = ptrtoint %"class.boost::detail::edge_desc_impl"* %0 to i32
  %sub.ptr.rhs.cast = ptrtoint %"class.boost::detail::edge_desc_impl"* %1 to i32
  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  %sub.ptr.div = sdiv exact i32 %sub.ptr.sub, 12
  store i32 %sub.ptr.div, i32* %__n, align 4
  br label %for.cond

for.cond:                                         ; preds = %for.inc, %entry
  %2 = load i32* %__n, align 4
  %cmp = icmp sgt i32 %2, 0
  br i1 %cmp, label %for.body, label %for.end

for.body:                                         ; preds = %for.cond
  %3 = load %"class.boost::detail::edge_desc_impl"** %__result.addr, align 4
  %incdec.ptr = getelementptr inbounds %"class.boost::detail::edge_desc_impl"* %3, i32 -1
  store %"class.boost::detail::edge_desc_impl"* %incdec.ptr, %"class.boost::detail::edge_desc_impl"** %__result.addr, align 4
  %4 = load %"class.boost::detail::edge_desc_impl"** %__last.addr, align 4
  %incdec.ptr1 = getelementptr inbounds %"class.boost::detail::edge_desc_impl"* %4, i32 -1
  store %"class.boost::detail::edge_desc_impl"* %incdec.ptr1, %"class.boost::detail::edge_desc_impl"** %__last.addr, align 4
  %5 = bitcast %"class.boost::detail::edge_desc_impl"* %incdec.ptr to i8*
  %6 = bitcast %"class.boost::detail::edge_desc_impl"* %incdec.ptr1 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %5, i8* %6, i32 12, i32 4, i1 false)
  br label %for.inc

for.inc:                                          ; preds = %for.body
  %7 = load i32* %__n, align 4
  %dec = add nsw i32 %7, -1
  store i32 %dec, i32* %__n, align 4
  br label %for.cond

for.end:                                          ; preds = %for.cond
  %8 = load %"class.boost::detail::edge_desc_impl"** %__result.addr, align 4
  ret %"class.boost::detail::edge_desc_impl"* %8
}

define linkonce_odr void @_ZSt8pop_heapIN9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS2_14undirected_tagEjEESt6vectorIS6_SaIS6_EEEENS2_12indirect_cmpINS2_26adj_list_edge_property_mapIS5_iRKijKNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEESH_EESt7greaterIiEEEEvT_SP_T0_(%"class.__gnu_cxx::__normal_iterator"* byval align 4 %__first, %"class.__gnu_cxx::__normal_iterator"* byval align 4 %__last, %"class.boost::indirect_cmp"* byval align 4 %__comp) inlinehint {
entry:
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator", align 4
  %agg.tmp1 = alloca %"class.__gnu_cxx::__normal_iterator", align 4
  %agg.tmp2 = alloca %"class.__gnu_cxx::__normal_iterator", align 4
  %agg.tmp3 = alloca %"class.boost::indirect_cmp", align 4
  %call = call %"class.__gnu_cxx::__normal_iterator"* @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEmmEv(%"class.__gnu_cxx::__normal_iterator"* %__last)
  %0 = bitcast %"class.__gnu_cxx::__normal_iterator"* %agg.tmp to i8*
  %1 = bitcast %"class.__gnu_cxx::__normal_iterator"* %__first to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 4, i32 4, i1 false)
  %2 = bitcast %"class.__gnu_cxx::__normal_iterator"* %agg.tmp1 to i8*
  %3 = bitcast %"class.__gnu_cxx::__normal_iterator"* %__last to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %2, i8* %3, i32 4, i32 4, i1 false)
  %4 = bitcast %"class.__gnu_cxx::__normal_iterator"* %agg.tmp2 to i8*
  %5 = bitcast %"class.__gnu_cxx::__normal_iterator"* %__last to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %5, i32 4, i32 4, i1 false)
  %6 = bitcast %"class.boost::indirect_cmp"* %agg.tmp3 to i8*
  %7 = bitcast %"class.boost::indirect_cmp"* %__comp to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %6, i8* %7, i32 8, i32 4, i1 false)
  call void @_ZSt10__pop_heapIN9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS2_14undirected_tagEjEESt6vectorIS6_SaIS6_EEEENS2_12indirect_cmpINS2_26adj_list_edge_property_mapIS5_iRKijKNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEESH_EESt7greaterIiEEEEvT_SP_SP_T0_(%"class.__gnu_cxx::__normal_iterator"* byval align 4 %agg.tmp, %"class.__gnu_cxx::__normal_iterator"* byval align 4 %agg.tmp1, %"class.__gnu_cxx::__normal_iterator"* byval align 4 %agg.tmp2, %"class.boost::indirect_cmp"* byval align 4 %agg.tmp3)
  ret void
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE8pop_backEv(%"class.std::vector.3"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::vector.3"*, align 4
  store %"class.std::vector.3"* %this, %"class.std::vector.3"** %this.addr, align 4
  %this1 = load %"class.std::vector.3"** %this.addr
  %0 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.4"* %0, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl, i32 0, i32 1
  %1 = load %"class.boost::detail::edge_desc_impl"** %_M_finish, align 4
  %incdec.ptr = getelementptr inbounds %"class.boost::detail::edge_desc_impl"* %1, i32 -1
  store %"class.boost::detail::edge_desc_impl"* %incdec.ptr, %"class.boost::detail::edge_desc_impl"** %_M_finish, align 4
  %2 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base.4"* %2, i32 0, i32 0
  %3 = bitcast %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl2 to %"class.__gnu_cxx::new_allocator.6"*
  %4 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl3 = getelementptr inbounds %"struct.std::_Vector_base.4"* %4, i32 0, i32 0
  %_M_finish4 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl3, i32 0, i32 1
  %5 = load %"class.boost::detail::edge_desc_impl"** %_M_finish4, align 4
  call void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail14edge_desc_implINS1_14undirected_tagEjEEE7destroyEPS5_(%"class.__gnu_cxx::new_allocator.6"* %3, %"class.boost::detail::edge_desc_impl"* %5)
  ret void
}

define linkonce_odr %"class.__gnu_cxx::__normal_iterator"* @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEmmEv(%"class.__gnu_cxx::__normal_iterator"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator"*, align 4
  store %"class.__gnu_cxx::__normal_iterator"* %this, %"class.__gnu_cxx::__normal_iterator"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator"* %this1, i32 0, i32 0
  %0 = load %"class.boost::detail::edge_desc_impl"** %_M_current, align 4
  %incdec.ptr = getelementptr inbounds %"class.boost::detail::edge_desc_impl"* %0, i32 -1
  store %"class.boost::detail::edge_desc_impl"* %incdec.ptr, %"class.boost::detail::edge_desc_impl"** %_M_current, align 4
  ret %"class.__gnu_cxx::__normal_iterator"* %this1
}

define linkonce_odr void @_ZSt10__pop_heapIN9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS2_14undirected_tagEjEESt6vectorIS6_SaIS6_EEEENS2_12indirect_cmpINS2_26adj_list_edge_property_mapIS5_iRKijKNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEESH_EESt7greaterIiEEEEvT_SP_SP_T0_(%"class.__gnu_cxx::__normal_iterator"* byval align 4 %__first, %"class.__gnu_cxx::__normal_iterator"* byval align 4 %__last, %"class.__gnu_cxx::__normal_iterator"* byval align 4 %__result, %"class.boost::indirect_cmp"* byval align 4 %__comp) inlinehint {
entry:
  %__value = alloca %"class.boost::detail::edge_desc_impl", align 4
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator", align 4
  %agg.tmp4 = alloca %"class.boost::detail::edge_desc_impl", align 4
  %agg.tmp5 = alloca %"class.boost::indirect_cmp", align 4
  %call = call %"class.boost::detail::edge_desc_impl"* @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEdeEv(%"class.__gnu_cxx::__normal_iterator"* %__result)
  %0 = bitcast %"class.boost::detail::edge_desc_impl"* %__value to i8*
  %1 = bitcast %"class.boost::detail::edge_desc_impl"* %call to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 12, i32 4, i1 false)
  %call1 = call %"class.boost::detail::edge_desc_impl"* @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEdeEv(%"class.__gnu_cxx::__normal_iterator"* %__result)
  %call2 = call %"class.boost::detail::edge_desc_impl"* @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEdeEv(%"class.__gnu_cxx::__normal_iterator"* %__first)
  %2 = bitcast %"class.boost::detail::edge_desc_impl"* %call1 to i8*
  %3 = bitcast %"class.boost::detail::edge_desc_impl"* %call2 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %2, i8* %3, i32 12, i32 4, i1 false)
  %4 = bitcast %"class.__gnu_cxx::__normal_iterator"* %agg.tmp to i8*
  %5 = bitcast %"class.__gnu_cxx::__normal_iterator"* %__first to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %5, i32 4, i32 4, i1 false)
  %call3 = call i32 @_ZN9__gnu_cxxmiIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSD_SG_(%"class.__gnu_cxx::__normal_iterator"* %__last, %"class.__gnu_cxx::__normal_iterator"* %__first)
  %6 = bitcast %"class.boost::detail::edge_desc_impl"* %agg.tmp4 to i8*
  %7 = bitcast %"class.boost::detail::edge_desc_impl"* %__value to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %6, i8* %7, i32 12, i32 4, i1 false)
  %8 = bitcast %"class.boost::indirect_cmp"* %agg.tmp5 to i8*
  %9 = bitcast %"class.boost::indirect_cmp"* %__comp to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %8, i8* %9, i32 8, i32 4, i1 false)
  call void @_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS2_14undirected_tagEjEESt6vectorIS6_SaIS6_EEEEiS6_NS2_12indirect_cmpINS2_26adj_list_edge_property_mapIS5_iRKijKNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEESH_EESt7greaterIiEEEEvT_T0_SQ_T1_T2_(%"class.__gnu_cxx::__normal_iterator"* byval align 4 %agg.tmp, i32 0, i32 %call3, %"class.boost::detail::edge_desc_impl"* byval align 4 %agg.tmp4, %"class.boost::indirect_cmp"* byval align 4 %agg.tmp5)
  ret void
}

define linkonce_odr void @_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS2_14undirected_tagEjEESt6vectorIS6_SaIS6_EEEEiS6_NS2_12indirect_cmpINS2_26adj_list_edge_property_mapIS5_iRKijKNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEESH_EESt7greaterIiEEEEvT_T0_SQ_T1_T2_(%"class.__gnu_cxx::__normal_iterator"* byval align 4 %__first, i32 %__holeIndex, i32 %__len, %"class.boost::detail::edge_desc_impl"* byval align 4 %__value, %"class.boost::indirect_cmp"* byval align 4 %__comp) {
entry:
  %__holeIndex.addr = alloca i32, align 4
  %__len.addr = alloca i32, align 4
  %__topIndex = alloca i32, align 4
  %__secondChild = alloca i32, align 4
  %tmp = alloca %"class.__gnu_cxx::__normal_iterator", align 4
  %ref.tmp = alloca i32, align 4
  %tmp2 = alloca %"class.__gnu_cxx::__normal_iterator", align 4
  %tmp5 = alloca %"class.__gnu_cxx::__normal_iterator", align 4
  %tmp7 = alloca %"class.__gnu_cxx::__normal_iterator", align 4
  %tmp16 = alloca %"class.__gnu_cxx::__normal_iterator", align 4
  %ref.tmp19 = alloca i32, align 4
  %tmp20 = alloca %"class.__gnu_cxx::__normal_iterator", align 4
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator", align 4
  %agg.tmp24 = alloca %"class.boost::detail::edge_desc_impl", align 4
  %agg.tmp25 = alloca %"class.boost::indirect_cmp", align 4
  store i32 %__holeIndex, i32* %__holeIndex.addr, align 4
  store i32 %__len, i32* %__len.addr, align 4
  %0 = load i32* %__holeIndex.addr, align 4
  store i32 %0, i32* %__topIndex, align 4
  %1 = load i32* %__holeIndex.addr, align 4
  store i32 %1, i32* %__secondChild, align 4
  br label %while.cond

while.cond:                                       ; preds = %if.end, %entry
  %2 = load i32* %__secondChild, align 4
  %3 = load i32* %__len.addr, align 4
  %sub = sub nsw i32 %3, 1
  %div = sdiv i32 %sub, 2
  %cmp = icmp slt i32 %2, %div
  br i1 %cmp, label %while.body, label %while.end

while.body:                                       ; preds = %while.cond
  %4 = load i32* %__secondChild, align 4
  %add = add nsw i32 %4, 1
  %mul = mul nsw i32 2, %add
  store i32 %mul, i32* %__secondChild, align 4
  call void @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEplERKi(%"class.__gnu_cxx::__normal_iterator"* sret %tmp, %"class.__gnu_cxx::__normal_iterator"* %__first, i32* %__secondChild)
  %call = call %"class.boost::detail::edge_desc_impl"* @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEdeEv(%"class.__gnu_cxx::__normal_iterator"* %tmp)
  %5 = load i32* %__secondChild, align 4
  %sub1 = sub nsw i32 %5, 1
  store i32 %sub1, i32* %ref.tmp, align 4
  call void @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEplERKi(%"class.__gnu_cxx::__normal_iterator"* sret %tmp2, %"class.__gnu_cxx::__normal_iterator"* %__first, i32* %ref.tmp)
  %call3 = call %"class.boost::detail::edge_desc_impl"* @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEdeEv(%"class.__gnu_cxx::__normal_iterator"* %tmp2)
  %call4 = call zeroext i1 @_ZNK5boost12indirect_cmpINS_26adj_list_edge_property_mapINS_14undirected_tagEiRKijKNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEES6_EESt7greaterIiEEclINS_6detail14edge_desc_implIS2_jEESH_EEbRKT_RKT0_(%"class.boost::indirect_cmp"* %__comp, %"class.boost::detail::edge_desc_impl"* %call, %"class.boost::detail::edge_desc_impl"* %call3)
  br i1 %call4, label %if.then, label %if.end

if.then:                                          ; preds = %while.body
  %6 = load i32* %__secondChild, align 4
  %dec = add nsw i32 %6, -1
  store i32 %dec, i32* %__secondChild, align 4
  br label %if.end

if.end:                                           ; preds = %if.then, %while.body
  call void @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEplERKi(%"class.__gnu_cxx::__normal_iterator"* sret %tmp5, %"class.__gnu_cxx::__normal_iterator"* %__first, i32* %__holeIndex.addr)
  %call6 = call %"class.boost::detail::edge_desc_impl"* @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEdeEv(%"class.__gnu_cxx::__normal_iterator"* %tmp5)
  call void @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEplERKi(%"class.__gnu_cxx::__normal_iterator"* sret %tmp7, %"class.__gnu_cxx::__normal_iterator"* %__first, i32* %__secondChild)
  %call8 = call %"class.boost::detail::edge_desc_impl"* @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEdeEv(%"class.__gnu_cxx::__normal_iterator"* %tmp7)
  %7 = bitcast %"class.boost::detail::edge_desc_impl"* %call6 to i8*
  %8 = bitcast %"class.boost::detail::edge_desc_impl"* %call8 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %7, i8* %8, i32 12, i32 4, i1 false)
  %9 = load i32* %__secondChild, align 4
  store i32 %9, i32* %__holeIndex.addr, align 4
  br label %while.cond

while.end:                                        ; preds = %while.cond
  %10 = load i32* %__len.addr, align 4
  %and = and i32 %10, 1
  %cmp9 = icmp eq i32 %and, 0
  br i1 %cmp9, label %land.lhs.true, label %if.end23

land.lhs.true:                                    ; preds = %while.end
  %11 = load i32* %__secondChild, align 4
  %12 = load i32* %__len.addr, align 4
  %sub10 = sub nsw i32 %12, 2
  %div11 = sdiv i32 %sub10, 2
  %cmp12 = icmp eq i32 %11, %div11
  br i1 %cmp12, label %if.then13, label %if.end23

if.then13:                                        ; preds = %land.lhs.true
  %13 = load i32* %__secondChild, align 4
  %add14 = add nsw i32 %13, 1
  %mul15 = mul nsw i32 2, %add14
  store i32 %mul15, i32* %__secondChild, align 4
  call void @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEplERKi(%"class.__gnu_cxx::__normal_iterator"* sret %tmp16, %"class.__gnu_cxx::__normal_iterator"* %__first, i32* %__holeIndex.addr)
  %call17 = call %"class.boost::detail::edge_desc_impl"* @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEdeEv(%"class.__gnu_cxx::__normal_iterator"* %tmp16)
  %14 = load i32* %__secondChild, align 4
  %sub18 = sub nsw i32 %14, 1
  store i32 %sub18, i32* %ref.tmp19, align 4
  call void @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEplERKi(%"class.__gnu_cxx::__normal_iterator"* sret %tmp20, %"class.__gnu_cxx::__normal_iterator"* %__first, i32* %ref.tmp19)
  %call21 = call %"class.boost::detail::edge_desc_impl"* @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEdeEv(%"class.__gnu_cxx::__normal_iterator"* %tmp20)
  %15 = bitcast %"class.boost::detail::edge_desc_impl"* %call17 to i8*
  %16 = bitcast %"class.boost::detail::edge_desc_impl"* %call21 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %15, i8* %16, i32 12, i32 4, i1 false)
  %17 = load i32* %__secondChild, align 4
  %sub22 = sub nsw i32 %17, 1
  store i32 %sub22, i32* %__holeIndex.addr, align 4
  br label %if.end23

if.end23:                                         ; preds = %if.then13, %land.lhs.true, %while.end
  %18 = bitcast %"class.__gnu_cxx::__normal_iterator"* %agg.tmp to i8*
  %19 = bitcast %"class.__gnu_cxx::__normal_iterator"* %__first to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %18, i8* %19, i32 4, i32 4, i1 false)
  %20 = load i32* %__holeIndex.addr, align 4
  %21 = load i32* %__topIndex, align 4
  %22 = bitcast %"class.boost::detail::edge_desc_impl"* %agg.tmp24 to i8*
  %23 = bitcast %"class.boost::detail::edge_desc_impl"* %__value to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %22, i8* %23, i32 12, i32 4, i1 false)
  %24 = bitcast %"class.boost::indirect_cmp"* %agg.tmp25 to i8*
  %25 = bitcast %"class.boost::indirect_cmp"* %__comp to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %24, i8* %25, i32 8, i32 4, i1 false)
  call void @_ZSt11__push_heapIN9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS2_14undirected_tagEjEESt6vectorIS6_SaIS6_EEEEiS6_NS2_12indirect_cmpINS2_26adj_list_edge_property_mapIS5_iRKijKNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEESH_EESt7greaterIiEEEEvT_T0_SQ_T1_T2_(%"class.__gnu_cxx::__normal_iterator"* byval align 4 %agg.tmp, i32 %20, i32 %21, %"class.boost::detail::edge_desc_impl"* byval align 4 %agg.tmp24, %"class.boost::indirect_cmp"* byval align 4 %agg.tmp25)
  ret void
}

define linkonce_odr zeroext i1 @_ZNK5boost12indirect_cmpINS_26adj_list_edge_property_mapINS_14undirected_tagEiRKijKNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEES6_EESt7greaterIiEEclINS_6detail14edge_desc_implIS2_jEESH_EEbRKT_RKT0_(%"class.boost::indirect_cmp"* %this, %"class.boost::detail::edge_desc_impl"* %u, %"class.boost::detail::edge_desc_impl"* %v) inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::indirect_cmp"*, align 4
  %u.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %v.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %du = alloca i32*, align 4
  %dv = alloca i32*, align 4
  store %"class.boost::indirect_cmp"* %this, %"class.boost::indirect_cmp"** %this.addr, align 4
  store %"class.boost::detail::edge_desc_impl"* %u, %"class.boost::detail::edge_desc_impl"** %u.addr, align 4
  store %"class.boost::detail::edge_desc_impl"* %v, %"class.boost::detail::edge_desc_impl"** %v.addr, align 4
  %this1 = load %"class.boost::indirect_cmp"** %this.addr
  %d = getelementptr inbounds %"class.boost::indirect_cmp"* %this1, i32 0, i32 0
  %0 = bitcast %"struct.boost::adj_list_edge_property_map.24"* %d to %"struct.boost::put_get_helper.25"*
  %1 = load %"class.boost::detail::edge_desc_impl"** %u.addr, align 4
  %call = call i32* @_ZN5boost3getINS_26adj_list_edge_property_mapINS_14undirected_tagEiRKijKNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEES6_EES4_NS_6detail14edge_desc_implIS2_jEEEET0_RKNS_14put_get_helperISE_T_EERKT1_(%"struct.boost::put_get_helper.25"* %0, %"class.boost::detail::edge_desc_impl"* %1)
  store i32* %call, i32** %du, align 4
  %d2 = getelementptr inbounds %"class.boost::indirect_cmp"* %this1, i32 0, i32 0
  %2 = bitcast %"struct.boost::adj_list_edge_property_map.24"* %d2 to %"struct.boost::put_get_helper.25"*
  %3 = load %"class.boost::detail::edge_desc_impl"** %v.addr, align 4
  %call3 = call i32* @_ZN5boost3getINS_26adj_list_edge_property_mapINS_14undirected_tagEiRKijKNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEES6_EES4_NS_6detail14edge_desc_implIS2_jEEEET0_RKNS_14put_get_helperISE_T_EERKT1_(%"struct.boost::put_get_helper.25"* %2, %"class.boost::detail::edge_desc_impl"* %3)
  store i32* %call3, i32** %dv, align 4
  %cmp = getelementptr inbounds %"class.boost::indirect_cmp"* %this1, i32 0, i32 1
  %4 = load i32** %du, align 4
  %5 = load i32** %dv, align 4
  %call4 = call zeroext i1 @_ZNKSt7greaterIiEclERKiS2_(%"struct.std::greater"* %cmp, i32* %4, i32* %5)
  ret i1 %call4
}

define linkonce_odr void @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEplERKi(%"class.__gnu_cxx::__normal_iterator"* noalias sret %agg.result, %"class.__gnu_cxx::__normal_iterator"* %this, i32* %__n) align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator"*, align 4
  %__n.addr = alloca i32*, align 4
  %ref.tmp = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  store %"class.__gnu_cxx::__normal_iterator"* %this, %"class.__gnu_cxx::__normal_iterator"** %this.addr, align 4
  store i32* %__n, i32** %__n.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator"* %this1, i32 0, i32 0
  %0 = load %"class.boost::detail::edge_desc_impl"** %_M_current, align 4
  %1 = load i32** %__n.addr, align 4
  %2 = load i32* %1, align 4
  %add.ptr = getelementptr inbounds %"class.boost::detail::edge_desc_impl"* %0, i32 %2
  store %"class.boost::detail::edge_desc_impl"* %add.ptr, %"class.boost::detail::edge_desc_impl"** %ref.tmp, align 4
  call void @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEC1ERKS6_(%"class.__gnu_cxx::__normal_iterator"* %agg.result, %"class.boost::detail::edge_desc_impl"** %ref.tmp)
  ret void
}

define linkonce_odr void @_ZSt11__push_heapIN9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS2_14undirected_tagEjEESt6vectorIS6_SaIS6_EEEEiS6_NS2_12indirect_cmpINS2_26adj_list_edge_property_mapIS5_iRKijKNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEESH_EESt7greaterIiEEEEvT_T0_SQ_T1_T2_(%"class.__gnu_cxx::__normal_iterator"* byval align 4 %__first, i32 %__holeIndex, i32 %__topIndex, %"class.boost::detail::edge_desc_impl"* byval align 4 %__value, %"class.boost::indirect_cmp"* byval align 4 %__comp) {
entry:
  %__holeIndex.addr = alloca i32, align 4
  %__topIndex.addr = alloca i32, align 4
  %__parent = alloca i32, align 4
  %tmp = alloca %"class.__gnu_cxx::__normal_iterator", align 4
  %tmp2 = alloca %"class.__gnu_cxx::__normal_iterator", align 4
  %tmp4 = alloca %"class.__gnu_cxx::__normal_iterator", align 4
  %tmp8 = alloca %"class.__gnu_cxx::__normal_iterator", align 4
  store i32 %__holeIndex, i32* %__holeIndex.addr, align 4
  store i32 %__topIndex, i32* %__topIndex.addr, align 4
  %0 = load i32* %__holeIndex.addr, align 4
  %sub = sub nsw i32 %0, 1
  %div = sdiv i32 %sub, 2
  store i32 %div, i32* %__parent, align 4
  br label %while.cond

while.cond:                                       ; preds = %while.body, %entry
  %1 = load i32* %__holeIndex.addr, align 4
  %2 = load i32* %__topIndex.addr, align 4
  %cmp = icmp sgt i32 %1, %2
  br i1 %cmp, label %land.rhs, label %land.end

land.rhs:                                         ; preds = %while.cond
  call void @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEplERKi(%"class.__gnu_cxx::__normal_iterator"* sret %tmp, %"class.__gnu_cxx::__normal_iterator"* %__first, i32* %__parent)
  %call = call %"class.boost::detail::edge_desc_impl"* @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEdeEv(%"class.__gnu_cxx::__normal_iterator"* %tmp)
  %call1 = call zeroext i1 @_ZNK5boost12indirect_cmpINS_26adj_list_edge_property_mapINS_14undirected_tagEiRKijKNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEES6_EESt7greaterIiEEclINS_6detail14edge_desc_implIS2_jEESH_EEbRKT_RKT0_(%"class.boost::indirect_cmp"* %__comp, %"class.boost::detail::edge_desc_impl"* %call, %"class.boost::detail::edge_desc_impl"* %__value)
  br label %land.end

land.end:                                         ; preds = %land.rhs, %while.cond
  %3 = phi i1 [ false, %while.cond ], [ %call1, %land.rhs ]
  br i1 %3, label %while.body, label %while.end

while.body:                                       ; preds = %land.end
  call void @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEplERKi(%"class.__gnu_cxx::__normal_iterator"* sret %tmp2, %"class.__gnu_cxx::__normal_iterator"* %__first, i32* %__holeIndex.addr)
  %call3 = call %"class.boost::detail::edge_desc_impl"* @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEdeEv(%"class.__gnu_cxx::__normal_iterator"* %tmp2)
  call void @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEplERKi(%"class.__gnu_cxx::__normal_iterator"* sret %tmp4, %"class.__gnu_cxx::__normal_iterator"* %__first, i32* %__parent)
  %call5 = call %"class.boost::detail::edge_desc_impl"* @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEdeEv(%"class.__gnu_cxx::__normal_iterator"* %tmp4)
  %4 = bitcast %"class.boost::detail::edge_desc_impl"* %call3 to i8*
  %5 = bitcast %"class.boost::detail::edge_desc_impl"* %call5 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %5, i32 12, i32 4, i1 false)
  %6 = load i32* %__parent, align 4
  store i32 %6, i32* %__holeIndex.addr, align 4
  %7 = load i32* %__holeIndex.addr, align 4
  %sub6 = sub nsw i32 %7, 1
  %div7 = sdiv i32 %sub6, 2
  store i32 %div7, i32* %__parent, align 4
  br label %while.cond

while.end:                                        ; preds = %land.end
  call void @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEplERKi(%"class.__gnu_cxx::__normal_iterator"* sret %tmp8, %"class.__gnu_cxx::__normal_iterator"* %__first, i32* %__holeIndex.addr)
  %call9 = call %"class.boost::detail::edge_desc_impl"* @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEdeEv(%"class.__gnu_cxx::__normal_iterator"* %tmp8)
  %8 = bitcast %"class.boost::detail::edge_desc_impl"* %call9 to i8*
  %9 = bitcast %"class.boost::detail::edge_desc_impl"* %__value to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %8, i8* %9, i32 12, i32 4, i1 false)
  ret void
}

define linkonce_odr i32* @_ZN5boost3getINS_26adj_list_edge_property_mapINS_14undirected_tagEiRKijKNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEES6_EES4_NS_6detail14edge_desc_implIS2_jEEEET0_RKNS_14put_get_helperISE_T_EERKT1_(%"struct.boost::put_get_helper.25"* %pa, %"class.boost::detail::edge_desc_impl"* %k) inlinehint {
entry:
  %pa.addr = alloca %"struct.boost::put_get_helper.25"*, align 4
  %k.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %v = alloca i32*, align 4
  %agg.tmp = alloca %"class.boost::detail::edge_desc_impl", align 4
  store %"struct.boost::put_get_helper.25"* %pa, %"struct.boost::put_get_helper.25"** %pa.addr, align 4
  store %"class.boost::detail::edge_desc_impl"* %k, %"class.boost::detail::edge_desc_impl"** %k.addr, align 4
  %0 = load %"struct.boost::put_get_helper.25"** %pa.addr, align 4
  %1 = bitcast %"struct.boost::put_get_helper.25"* %0 to %"struct.boost::adj_list_edge_property_map.24"*
  %2 = load %"class.boost::detail::edge_desc_impl"** %k.addr, align 4
  %3 = bitcast %"class.boost::detail::edge_desc_impl"* %agg.tmp to i8*
  %4 = bitcast %"class.boost::detail::edge_desc_impl"* %2 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* %4, i32 12, i32 4, i1 false)
  %call = call i32* @_ZNK5boost26adj_list_edge_property_mapINS_14undirected_tagEiRKijKNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEES5_EixENS_6detail14edge_desc_implIS1_jEE(%"struct.boost::adj_list_edge_property_map.24"* %1, %"class.boost::detail::edge_desc_impl"* byval align 4 %agg.tmp)
  store i32* %call, i32** %v, align 4
  %5 = load i32** %v, align 4
  ret i32* %5
}

define linkonce_odr zeroext i1 @_ZNKSt7greaterIiEclERKiS2_(%"struct.std::greater"* %this, i32* %__x, i32* %__y) nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::greater"*, align 4
  %__x.addr = alloca i32*, align 4
  %__y.addr = alloca i32*, align 4
  store %"struct.std::greater"* %this, %"struct.std::greater"** %this.addr, align 4
  store i32* %__x, i32** %__x.addr, align 4
  store i32* %__y, i32** %__y.addr, align 4
  %this1 = load %"struct.std::greater"** %this.addr
  %0 = load i32** %__x.addr, align 4
  %1 = load i32* %0, align 4
  %2 = load i32** %__y.addr, align 4
  %3 = load i32* %2, align 4
  %cmp = icmp sgt i32 %1, %3
  ret i1 %cmp
}

define linkonce_odr i32* @_ZNK5boost26adj_list_edge_property_mapINS_14undirected_tagEiRKijKNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEES5_EixENS_6detail14edge_desc_implIS1_jEE(%"struct.boost::adj_list_edge_property_map.24"* %this, %"class.boost::detail::edge_desc_impl"* byval align 4 %e) inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::adj_list_edge_property_map.24"*, align 4
  %p = alloca %"struct.boost::property"*, align 4
  store %"struct.boost::adj_list_edge_property_map.24"* %this, %"struct.boost::adj_list_edge_property_map.24"** %this.addr, align 4
  %this1 = load %"struct.boost::adj_list_edge_property_map.24"** %this.addr
  %call = call i8* @_ZN5boost6detail14edge_desc_implINS_14undirected_tagEjE12get_propertyEv(%"class.boost::detail::edge_desc_impl"* %e)
  %0 = bitcast i8* %call to %"struct.boost::property"*
  store %"struct.boost::property"* %0, %"struct.boost::property"** %p, align 4
  %1 = load %"struct.boost::property"** %p, align 4
  %tag = getelementptr inbounds %"struct.boost::adj_list_edge_property_map.24"* %this1, i32 0, i32 0
  %2 = load i32* %tag, align 4
  %call2 = call i32* @_ZN5boost18get_property_valueINS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEES2_EERKNS_19lookup_one_propertyIT_T0_E4typeERKS6_S7_(%"struct.boost::property"* %1, i32 %2)
  ret i32* %call2
}

define linkonce_odr i32* @_ZN5boost18get_property_valueINS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEES2_EERKNS_19lookup_one_propertyIT_T0_E4typeERKS6_S7_(%"struct.boost::property"* %p, i32 %tag) inlinehint {
entry:
  %p.addr = alloca %"struct.boost::property"*, align 4
  %tag.addr = alloca i32, align 4
  store %"struct.boost::property"* %p, %"struct.boost::property"** %p.addr, align 4
  store i32 %tag, i32* %tag.addr, align 4
  %0 = load %"struct.boost::property"** %p.addr, align 4
  %call = call i32* @_ZN5boost28lookup_one_property_internalINS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEES2_vE6lookupIS4_EENS_9enable_ifINS_7is_sameIS4_T_EERKiE4typeERKS9_RKS2_(%"struct.boost::property"* %0, i32* %tag.addr)
  ret i32* %call
}

define linkonce_odr i32* @_ZN5boost28lookup_one_property_internalINS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEES2_vE6lookupIS4_EENS_9enable_ifINS_7is_sameIS4_T_EERKiE4typeERKS9_RKS2_(%"struct.boost::property"* %prop, i32*) nounwind align 2 {
entry:
  %prop.addr = alloca %"struct.boost::property"*, align 4
  %.addr = alloca i32*, align 4
  store %"struct.boost::property"* %prop, %"struct.boost::property"** %prop.addr, align 4
  store i32* %0, i32** %.addr, align 4
  %1 = load %"struct.boost::property"** %prop.addr, align 4
  %m_value = getelementptr inbounds %"struct.boost::property"* %1, i32 0, i32 0
  ret i32* %m_value
}

define linkonce_odr %"class.boost::detail::edge_desc_impl"* @_ZNKSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE5frontEv(%"class.std::vector.3"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.3"*, align 4
  %tmp = alloca %"class.__gnu_cxx::__normal_iterator.31", align 4
  store %"class.std::vector.3"* %this, %"class.std::vector.3"** %this.addr, align 4
  %this1 = load %"class.std::vector.3"** %this.addr
  call void @_ZNKSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE5beginEv(%"class.__gnu_cxx::__normal_iterator.31"* sret %tmp, %"class.std::vector.3"* %this1)
  %call = call %"class.boost::detail::edge_desc_impl"* @_ZNK9__gnu_cxx17__normal_iteratorIPKN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEdeEv(%"class.__gnu_cxx::__normal_iterator.31"* %tmp)
  ret %"class.boost::detail::edge_desc_impl"* %call
}

define linkonce_odr void @_ZNKSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE5beginEv(%"class.__gnu_cxx::__normal_iterator.31"* noalias sret %agg.result, %"class.std::vector.3"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.3"*, align 4
  %ref.tmp = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  store %"class.std::vector.3"* %this, %"class.std::vector.3"** %this.addr, align 4
  %this1 = load %"class.std::vector.3"** %this.addr
  %0 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.4"* %0, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl, i32 0, i32 0
  %1 = load %"class.boost::detail::edge_desc_impl"** %_M_start, align 4
  store %"class.boost::detail::edge_desc_impl"* %1, %"class.boost::detail::edge_desc_impl"** %ref.tmp, align 4
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEC1ERKS7_(%"class.__gnu_cxx::__normal_iterator.31"* %agg.result, %"class.boost::detail::edge_desc_impl"** %ref.tmp)
  ret void
}

define linkonce_odr %"class.boost::detail::edge_desc_impl"* @_ZNK9__gnu_cxx17__normal_iteratorIPKN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEdeEv(%"class.__gnu_cxx::__normal_iterator.31"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.31"*, align 4
  store %"class.__gnu_cxx::__normal_iterator.31"* %this, %"class.__gnu_cxx::__normal_iterator.31"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.31"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.31"* %this1, i32 0, i32 0
  %0 = load %"class.boost::detail::edge_desc_impl"** %_M_current, align 4
  ret %"class.boost::detail::edge_desc_impl"* %0
}

define linkonce_odr void @_ZN9__gnu_cxx17__normal_iteratorIPKN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEC1ERKS7_(%"class.__gnu_cxx::__normal_iterator.31"* %this, %"class.boost::detail::edge_desc_impl"** %__i) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.31"*, align 4
  %__i.addr = alloca %"class.boost::detail::edge_desc_impl"**, align 4
  store %"class.__gnu_cxx::__normal_iterator.31"* %this, %"class.__gnu_cxx::__normal_iterator.31"** %this.addr, align 4
  store %"class.boost::detail::edge_desc_impl"** %__i, %"class.boost::detail::edge_desc_impl"*** %__i.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.31"** %this.addr
  %0 = load %"class.boost::detail::edge_desc_impl"*** %__i.addr
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEC2ERKS7_(%"class.__gnu_cxx::__normal_iterator.31"* %this1, %"class.boost::detail::edge_desc_impl"** %0)
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx17__normal_iteratorIPKN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEC2ERKS7_(%"class.__gnu_cxx::__normal_iterator.31"* %this, %"class.boost::detail::edge_desc_impl"** %__i) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.31"*, align 4
  %__i.addr = alloca %"class.boost::detail::edge_desc_impl"**, align 4
  store %"class.__gnu_cxx::__normal_iterator.31"* %this, %"class.__gnu_cxx::__normal_iterator.31"** %this.addr, align 4
  store %"class.boost::detail::edge_desc_impl"** %__i, %"class.boost::detail::edge_desc_impl"*** %__i.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.31"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.31"* %this1, i32 0, i32 0
  %0 = load %"class.boost::detail::edge_desc_impl"*** %__i.addr, align 4
  %1 = load %"class.boost::detail::edge_desc_impl"** %0, align 4
  store %"class.boost::detail::edge_desc_impl"* %1, %"class.boost::detail::edge_desc_impl"** %_M_current, align 4
  ret void
}

define linkonce_odr zeroext i1 @_ZNKSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE5emptyEv(%"class.std::vector.3"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.3"*, align 4
  %ref.tmp = alloca %"class.__gnu_cxx::__normal_iterator.31", align 4
  %ref.tmp2 = alloca %"class.__gnu_cxx::__normal_iterator.31", align 4
  store %"class.std::vector.3"* %this, %"class.std::vector.3"** %this.addr, align 4
  %this1 = load %"class.std::vector.3"** %this.addr
  call void @_ZNKSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE5beginEv(%"class.__gnu_cxx::__normal_iterator.31"* sret %ref.tmp, %"class.std::vector.3"* %this1)
  call void @_ZNKSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE3endEv(%"class.__gnu_cxx::__normal_iterator.31"* sret %ref.tmp2, %"class.std::vector.3"* %this1)
  %call = call zeroext i1 @_ZN9__gnu_cxxeqIPKN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEEbRKNS_17__normal_iteratorIT_T0_EESG_(%"class.__gnu_cxx::__normal_iterator.31"* %ref.tmp, %"class.__gnu_cxx::__normal_iterator.31"* %ref.tmp2)
  ret i1 %call
}

define linkonce_odr zeroext i1 @_ZN9__gnu_cxxeqIPKN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEEbRKNS_17__normal_iteratorIT_T0_EESG_(%"class.__gnu_cxx::__normal_iterator.31"* %__lhs, %"class.__gnu_cxx::__normal_iterator.31"* %__rhs) inlinehint {
entry:
  %__lhs.addr = alloca %"class.__gnu_cxx::__normal_iterator.31"*, align 4
  %__rhs.addr = alloca %"class.__gnu_cxx::__normal_iterator.31"*, align 4
  store %"class.__gnu_cxx::__normal_iterator.31"* %__lhs, %"class.__gnu_cxx::__normal_iterator.31"** %__lhs.addr, align 4
  store %"class.__gnu_cxx::__normal_iterator.31"* %__rhs, %"class.__gnu_cxx::__normal_iterator.31"** %__rhs.addr, align 4
  %0 = load %"class.__gnu_cxx::__normal_iterator.31"** %__lhs.addr, align 4
  %call = call %"class.boost::detail::edge_desc_impl"** @_ZNK9__gnu_cxx17__normal_iteratorIPKN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.31"* %0)
  %1 = load %"class.boost::detail::edge_desc_impl"** %call
  %2 = load %"class.__gnu_cxx::__normal_iterator.31"** %__rhs.addr, align 4
  %call1 = call %"class.boost::detail::edge_desc_impl"** @_ZNK9__gnu_cxx17__normal_iteratorIPKN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.31"* %2)
  %3 = load %"class.boost::detail::edge_desc_impl"** %call1
  %cmp = icmp eq %"class.boost::detail::edge_desc_impl"* %1, %3
  ret i1 %cmp
}

define linkonce_odr void @_ZNKSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE3endEv(%"class.__gnu_cxx::__normal_iterator.31"* noalias sret %agg.result, %"class.std::vector.3"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.3"*, align 4
  %ref.tmp = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  store %"class.std::vector.3"* %this, %"class.std::vector.3"** %this.addr, align 4
  %this1 = load %"class.std::vector.3"** %this.addr
  %0 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.4"* %0, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl, i32 0, i32 1
  %1 = load %"class.boost::detail::edge_desc_impl"** %_M_finish, align 4
  store %"class.boost::detail::edge_desc_impl"* %1, %"class.boost::detail::edge_desc_impl"** %ref.tmp, align 4
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEC1ERKS7_(%"class.__gnu_cxx::__normal_iterator.31"* %agg.result, %"class.boost::detail::edge_desc_impl"** %ref.tmp)
  ret void
}

define linkonce_odr %"class.boost::detail::edge_desc_impl"** @_ZNK9__gnu_cxx17__normal_iteratorIPKN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.31"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.31"*, align 4
  store %"class.__gnu_cxx::__normal_iterator.31"* %this, %"class.__gnu_cxx::__normal_iterator.31"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.31"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.31"* %this1, i32 0, i32 0
  ret %"class.boost::detail::edge_desc_impl"** %_M_current
}

define linkonce_odr void @_ZSt9push_heapIN9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS2_14undirected_tagEjEESt6vectorIS6_SaIS6_EEEENS2_12indirect_cmpINS2_26adj_list_edge_property_mapIS5_iRKijKNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEESH_EESt7greaterIiEEEEvT_SP_T0_(%"class.__gnu_cxx::__normal_iterator"* byval align 4 %__first, %"class.__gnu_cxx::__normal_iterator"* byval align 4 %__last, %"class.boost::indirect_cmp"* byval align 4 %__comp) inlinehint {
entry:
  %__value = alloca %"class.boost::detail::edge_desc_impl", align 4
  %ref.tmp = alloca i32, align 4
  %tmp = alloca %"class.__gnu_cxx::__normal_iterator", align 4
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator", align 4
  %agg.tmp2 = alloca %"class.boost::detail::edge_desc_impl", align 4
  %agg.tmp3 = alloca %"class.boost::indirect_cmp", align 4
  store i32 1, i32* %ref.tmp, align 4
  call void @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEmiERKi(%"class.__gnu_cxx::__normal_iterator"* sret %tmp, %"class.__gnu_cxx::__normal_iterator"* %__last, i32* %ref.tmp)
  %call = call %"class.boost::detail::edge_desc_impl"* @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEdeEv(%"class.__gnu_cxx::__normal_iterator"* %tmp)
  %0 = bitcast %"class.boost::detail::edge_desc_impl"* %__value to i8*
  %1 = bitcast %"class.boost::detail::edge_desc_impl"* %call to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 12, i32 4, i1 false)
  %2 = bitcast %"class.__gnu_cxx::__normal_iterator"* %agg.tmp to i8*
  %3 = bitcast %"class.__gnu_cxx::__normal_iterator"* %__first to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %2, i8* %3, i32 4, i32 4, i1 false)
  %call1 = call i32 @_ZN9__gnu_cxxmiIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSD_SG_(%"class.__gnu_cxx::__normal_iterator"* %__last, %"class.__gnu_cxx::__normal_iterator"* %__first)
  %sub = sub nsw i32 %call1, 1
  %4 = bitcast %"class.boost::detail::edge_desc_impl"* %agg.tmp2 to i8*
  %5 = bitcast %"class.boost::detail::edge_desc_impl"* %__value to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %5, i32 12, i32 4, i1 false)
  %6 = bitcast %"class.boost::indirect_cmp"* %agg.tmp3 to i8*
  %7 = bitcast %"class.boost::indirect_cmp"* %__comp to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %6, i8* %7, i32 8, i32 4, i1 false)
  call void @_ZSt11__push_heapIN9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS2_14undirected_tagEjEESt6vectorIS6_SaIS6_EEEEiS6_NS2_12indirect_cmpINS2_26adj_list_edge_property_mapIS5_iRKijKNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEESH_EESt7greaterIiEEEEvT_T0_SQ_T1_T2_(%"class.__gnu_cxx::__normal_iterator"* byval align 4 %agg.tmp, i32 %sub, i32 0, %"class.boost::detail::edge_desc_impl"* byval align 4 %agg.tmp2, %"class.boost::indirect_cmp"* byval align 4 %agg.tmp3)
  ret void
}

define linkonce_odr void @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEmiERKi(%"class.__gnu_cxx::__normal_iterator"* noalias sret %agg.result, %"class.__gnu_cxx::__normal_iterator"* %this, i32* %__n) align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator"*, align 4
  %__n.addr = alloca i32*, align 4
  %ref.tmp = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  store %"class.__gnu_cxx::__normal_iterator"* %this, %"class.__gnu_cxx::__normal_iterator"** %this.addr, align 4
  store i32* %__n, i32** %__n.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator"* %this1, i32 0, i32 0
  %0 = load %"class.boost::detail::edge_desc_impl"** %_M_current, align 4
  %1 = load i32** %__n.addr, align 4
  %2 = load i32* %1, align 4
  %idx.neg = sub i32 0, %2
  %add.ptr = getelementptr inbounds %"class.boost::detail::edge_desc_impl"* %0, i32 %idx.neg
  store %"class.boost::detail::edge_desc_impl"* %add.ptr, %"class.boost::detail::edge_desc_impl"** %ref.tmp, align 4
  call void @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEC1ERKS6_(%"class.__gnu_cxx::__normal_iterator"* %agg.result, %"class.boost::detail::edge_desc_impl"** %ref.tmp)
  ret void
}

define linkonce_odr void @_ZNSt14priority_queueIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESt6vectorIS4_SaIS4_EENS0_12indirect_cmpINS0_26adj_list_edge_property_mapIS3_iRKijKNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEESD_EESt7greaterIiEEEEC2ERKSK_RKS7_(%"class.std::priority_queue"* %this, %"class.boost::indirect_cmp"* %__x, %"class.std::vector.3"* %__s) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::priority_queue"*, align 4
  %__x.addr = alloca %"class.boost::indirect_cmp"*, align 4
  %__s.addr = alloca %"class.std::vector.3"*, align 4
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %agg.tmp3 = alloca %"class.__gnu_cxx::__normal_iterator", align 4
  %agg.tmp6 = alloca %"class.boost::indirect_cmp", align 4
  store %"class.std::priority_queue"* %this, %"class.std::priority_queue"** %this.addr, align 4
  store %"class.boost::indirect_cmp"* %__x, %"class.boost::indirect_cmp"** %__x.addr, align 4
  store %"class.std::vector.3"* %__s, %"class.std::vector.3"** %__s.addr, align 4
  %this1 = load %"class.std::priority_queue"** %this.addr
  %c = getelementptr inbounds %"class.std::priority_queue"* %this1, i32 0, i32 0
  %0 = load %"class.std::vector.3"** %__s.addr, align 4
  call void @_ZNSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EEC1ERKS6_(%"class.std::vector.3"* %c, %"class.std::vector.3"* %0)
  %comp = getelementptr inbounds %"class.std::priority_queue"* %this1, i32 0, i32 1
  %1 = load %"class.boost::indirect_cmp"** %__x.addr, align 4
  %2 = bitcast %"class.boost::indirect_cmp"* %comp to i8*
  %3 = bitcast %"class.boost::indirect_cmp"* %1 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %2, i8* %3, i32 8, i32 4, i1 false)
  %c2 = getelementptr inbounds %"class.std::priority_queue"* %this1, i32 0, i32 0
  invoke void @_ZNSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE5beginEv(%"class.__gnu_cxx::__normal_iterator"* sret %agg.tmp, %"class.std::vector.3"* %c2)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %c4 = getelementptr inbounds %"class.std::priority_queue"* %this1, i32 0, i32 0
  invoke void @_ZNSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE3endEv(%"class.__gnu_cxx::__normal_iterator"* sret %agg.tmp3, %"class.std::vector.3"* %c4)
          to label %invoke.cont5 unwind label %lpad

invoke.cont5:                                     ; preds = %invoke.cont
  %comp7 = getelementptr inbounds %"class.std::priority_queue"* %this1, i32 0, i32 1
  %4 = bitcast %"class.boost::indirect_cmp"* %agg.tmp6 to i8*
  %5 = bitcast %"class.boost::indirect_cmp"* %comp7 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %5, i32 8, i32 4, i1 false)
  invoke void @_ZSt9make_heapIN9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS2_14undirected_tagEjEESt6vectorIS6_SaIS6_EEEENS2_12indirect_cmpINS2_26adj_list_edge_property_mapIS5_iRKijKNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEESH_EESt7greaterIiEEEEvT_SP_T0_(%"class.__gnu_cxx::__normal_iterator"* byval align 4 %agg.tmp, %"class.__gnu_cxx::__normal_iterator"* byval align 4 %agg.tmp3, %"class.boost::indirect_cmp"* byval align 4 %agg.tmp6)
          to label %invoke.cont8 unwind label %lpad

invoke.cont8:                                     ; preds = %invoke.cont5
  ret void

lpad:                                             ; preds = %invoke.cont5, %invoke.cont, %entry
  %6 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %7 = extractvalue { i8*, i32 } %6, 0
  store i8* %7, i8** %exn.slot
  %8 = extractvalue { i8*, i32 } %6, 1
  store i32 %8, i32* %ehselector.slot
  invoke void @_ZNSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EED1Ev(%"class.std::vector.3"* %c)
          to label %invoke.cont9 unwind label %terminate.lpad

invoke.cont9:                                     ; preds = %lpad
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont9
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val10 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val10

terminate.lpad:                                   ; preds = %lpad
  %9 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EEC1ERKS6_(%"class.std::vector.3"* %this, %"class.std::vector.3"* %__x) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::vector.3"*, align 4
  %__x.addr = alloca %"class.std::vector.3"*, align 4
  store %"class.std::vector.3"* %this, %"class.std::vector.3"** %this.addr, align 4
  store %"class.std::vector.3"* %__x, %"class.std::vector.3"** %__x.addr, align 4
  %this1 = load %"class.std::vector.3"** %this.addr
  %0 = load %"class.std::vector.3"** %__x.addr
  call void @_ZNSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EEC2ERKS6_(%"class.std::vector.3"* %this1, %"class.std::vector.3"* %0)
  ret void
}

define linkonce_odr void @_ZSt9make_heapIN9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS2_14undirected_tagEjEESt6vectorIS6_SaIS6_EEEENS2_12indirect_cmpINS2_26adj_list_edge_property_mapIS5_iRKijKNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEESH_EESt7greaterIiEEEEvT_SP_T0_(%"class.__gnu_cxx::__normal_iterator"* byval align 4 %__first, %"class.__gnu_cxx::__normal_iterator"* byval align 4 %__last, %"class.boost::indirect_cmp"* byval align 4 %__comp) {
entry:
  %__len = alloca i32, align 4
  %__parent = alloca i32, align 4
  %__value = alloca %"class.boost::detail::edge_desc_impl", align 4
  %tmp = alloca %"class.__gnu_cxx::__normal_iterator", align 4
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator", align 4
  %agg.tmp3 = alloca %"class.boost::detail::edge_desc_impl", align 4
  %agg.tmp4 = alloca %"class.boost::indirect_cmp", align 4
  %call = call i32 @_ZN9__gnu_cxxmiIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSD_SG_(%"class.__gnu_cxx::__normal_iterator"* %__last, %"class.__gnu_cxx::__normal_iterator"* %__first)
  %cmp = icmp slt i32 %call, 2
  br i1 %cmp, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  br label %return

if.end:                                           ; preds = %entry
  %call1 = call i32 @_ZN9__gnu_cxxmiIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSD_SG_(%"class.__gnu_cxx::__normal_iterator"* %__last, %"class.__gnu_cxx::__normal_iterator"* %__first)
  store i32 %call1, i32* %__len, align 4
  %0 = load i32* %__len, align 4
  %sub = sub nsw i32 %0, 2
  %div = sdiv i32 %sub, 2
  store i32 %div, i32* %__parent, align 4
  br label %while.body

while.body:                                       ; preds = %if.end, %if.end7
  call void @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEplERKi(%"class.__gnu_cxx::__normal_iterator"* sret %tmp, %"class.__gnu_cxx::__normal_iterator"* %__first, i32* %__parent)
  %call2 = call %"class.boost::detail::edge_desc_impl"* @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEdeEv(%"class.__gnu_cxx::__normal_iterator"* %tmp)
  %1 = bitcast %"class.boost::detail::edge_desc_impl"* %__value to i8*
  %2 = bitcast %"class.boost::detail::edge_desc_impl"* %call2 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1, i8* %2, i32 12, i32 4, i1 false)
  %3 = bitcast %"class.__gnu_cxx::__normal_iterator"* %agg.tmp to i8*
  %4 = bitcast %"class.__gnu_cxx::__normal_iterator"* %__first to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* %4, i32 4, i32 4, i1 false)
  %5 = load i32* %__parent, align 4
  %6 = load i32* %__len, align 4
  %7 = bitcast %"class.boost::detail::edge_desc_impl"* %agg.tmp3 to i8*
  %8 = bitcast %"class.boost::detail::edge_desc_impl"* %__value to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %7, i8* %8, i32 12, i32 4, i1 false)
  %9 = bitcast %"class.boost::indirect_cmp"* %agg.tmp4 to i8*
  %10 = bitcast %"class.boost::indirect_cmp"* %__comp to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %9, i8* %10, i32 8, i32 4, i1 false)
  call void @_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPN5boost6detail14edge_desc_implINS2_14undirected_tagEjEESt6vectorIS6_SaIS6_EEEEiS6_NS2_12indirect_cmpINS2_26adj_list_edge_property_mapIS5_iRKijKNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEESH_EESt7greaterIiEEEEvT_T0_SQ_T1_T2_(%"class.__gnu_cxx::__normal_iterator"* byval align 4 %agg.tmp, i32 %5, i32 %6, %"class.boost::detail::edge_desc_impl"* byval align 4 %agg.tmp3, %"class.boost::indirect_cmp"* byval align 4 %agg.tmp4)
  %11 = load i32* %__parent, align 4
  %cmp5 = icmp eq i32 %11, 0
  br i1 %cmp5, label %if.then6, label %if.end7

if.then6:                                         ; preds = %while.body
  br label %return

if.end7:                                          ; preds = %while.body
  %12 = load i32* %__parent, align 4
  %dec = add nsw i32 %12, -1
  store i32 %dec, i32* %__parent, align 4
  br label %while.body

return:                                           ; preds = %if.then6, %if.then
  ret void
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EEC2ERKS6_(%"class.std::vector.3"* %this, %"class.std::vector.3"* %__x) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::vector.3"*, align 4
  %__x.addr = alloca %"class.std::vector.3"*, align 4
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator.31", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %agg.tmp3 = alloca %"class.__gnu_cxx::__normal_iterator.31", align 4
  store %"class.std::vector.3"* %this, %"class.std::vector.3"** %this.addr, align 4
  store %"class.std::vector.3"* %__x, %"class.std::vector.3"** %__x.addr, align 4
  %this1 = load %"class.std::vector.3"** %this.addr
  %0 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %1 = load %"class.std::vector.3"** %__x.addr, align 4
  %call = call i32 @_ZNKSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE4sizeEv(%"class.std::vector.3"* %1)
  %2 = load %"class.std::vector.3"** %__x.addr, align 4
  %3 = bitcast %"class.std::vector.3"* %2 to %"struct.std::_Vector_base.4"*
  %call2 = call %"class.std::allocator.5"* @_ZNKSt12_Vector_baseIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.4"* %3)
  call void @_ZNSt12_Vector_baseIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EEC2EjRKS5_(%"struct.std::_Vector_base.4"* %0, i32 %call, %"class.std::allocator.5"* %call2)
  %4 = load %"class.std::vector.3"** %__x.addr, align 4
  invoke void @_ZNKSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE5beginEv(%"class.__gnu_cxx::__normal_iterator.31"* sret %agg.tmp, %"class.std::vector.3"* %4)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %5 = load %"class.std::vector.3"** %__x.addr, align 4
  invoke void @_ZNKSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE3endEv(%"class.__gnu_cxx::__normal_iterator.31"* sret %agg.tmp3, %"class.std::vector.3"* %5)
          to label %invoke.cont4 unwind label %lpad

invoke.cont4:                                     ; preds = %invoke.cont
  %6 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.4"* %6, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl, i32 0, i32 0
  %7 = load %"class.boost::detail::edge_desc_impl"** %_M_start, align 4
  %8 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %call6 = invoke %"class.std::allocator.5"* @_ZNSt12_Vector_baseIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.4"* %8)
          to label %invoke.cont5 unwind label %lpad

invoke.cont5:                                     ; preds = %invoke.cont4
  %call8 = invoke %"class.boost::detail::edge_desc_impl"* @_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail14edge_desc_implINS2_14undirected_tagEjEESt6vectorIS6_SaIS6_EEEEPS6_S6_ET0_T_SF_SE_RSaIT1_E(%"class.__gnu_cxx::__normal_iterator.31"* byval align 4 %agg.tmp, %"class.__gnu_cxx::__normal_iterator.31"* byval align 4 %agg.tmp3, %"class.boost::detail::edge_desc_impl"* %7, %"class.std::allocator.5"* %call6)
          to label %invoke.cont7 unwind label %lpad

invoke.cont7:                                     ; preds = %invoke.cont5
  %9 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl9 = getelementptr inbounds %"struct.std::_Vector_base.4"* %9, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl9, i32 0, i32 1
  store %"class.boost::detail::edge_desc_impl"* %call8, %"class.boost::detail::edge_desc_impl"** %_M_finish, align 4
  ret void

lpad:                                             ; preds = %invoke.cont5, %invoke.cont4, %invoke.cont, %entry
  %10 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %11 = extractvalue { i8*, i32 } %10, 0
  store i8* %11, i8** %exn.slot
  %12 = extractvalue { i8*, i32 } %10, 1
  store i32 %12, i32* %ehselector.slot
  %13 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  invoke void @_ZNSt12_Vector_baseIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EED2Ev(%"struct.std::_Vector_base.4"* %13)
          to label %invoke.cont10 unwind label %terminate.lpad

invoke.cont10:                                    ; preds = %lpad
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont10
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val11 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val11

terminate.lpad:                                   ; preds = %lpad
  %14 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EEC2EjRKS5_(%"struct.std::_Vector_base.4"* %this, i32 %__n, %"class.std::allocator.5"* %__a) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base.4"*, align 4
  %__n.addr = alloca i32, align 4
  %__a.addr = alloca %"class.std::allocator.5"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"struct.std::_Vector_base.4"* %this, %"struct.std::_Vector_base.4"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store %"class.std::allocator.5"* %__a, %"class.std::allocator.5"** %__a.addr, align 4
  %this1 = load %"struct.std::_Vector_base.4"** %this.addr
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.4"* %this1, i32 0, i32 0
  %0 = load %"class.std::allocator.5"** %__a.addr, align 4
  call void @_ZNSt12_Vector_baseIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE12_Vector_implC1ERKS5_(%"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl, %"class.std::allocator.5"* %0)
  %1 = load i32* %__n.addr, align 4
  %call = invoke %"class.boost::detail::edge_desc_impl"* @_ZNSt12_Vector_baseIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE11_M_allocateEj(%"struct.std::_Vector_base.4"* %this1, i32 %1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base.4"* %this1, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl2, i32 0, i32 0
  store %"class.boost::detail::edge_desc_impl"* %call, %"class.boost::detail::edge_desc_impl"** %_M_start, align 4
  %_M_impl3 = getelementptr inbounds %"struct.std::_Vector_base.4"* %this1, i32 0, i32 0
  %_M_start4 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl3, i32 0, i32 0
  %2 = load %"class.boost::detail::edge_desc_impl"** %_M_start4, align 4
  %_M_impl5 = getelementptr inbounds %"struct.std::_Vector_base.4"* %this1, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl5, i32 0, i32 1
  store %"class.boost::detail::edge_desc_impl"* %2, %"class.boost::detail::edge_desc_impl"** %_M_finish, align 4
  %_M_impl6 = getelementptr inbounds %"struct.std::_Vector_base.4"* %this1, i32 0, i32 0
  %_M_start7 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl6, i32 0, i32 0
  %3 = load %"class.boost::detail::edge_desc_impl"** %_M_start7, align 4
  %4 = load i32* %__n.addr, align 4
  %add.ptr = getelementptr inbounds %"class.boost::detail::edge_desc_impl"* %3, i32 %4
  %_M_impl8 = getelementptr inbounds %"struct.std::_Vector_base.4"* %this1, i32 0, i32 0
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl8, i32 0, i32 2
  store %"class.boost::detail::edge_desc_impl"* %add.ptr, %"class.boost::detail::edge_desc_impl"** %_M_end_of_storage, align 4
  ret void

lpad:                                             ; preds = %entry
  %5 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %6 = extractvalue { i8*, i32 } %5, 0
  store i8* %6, i8** %exn.slot
  %7 = extractvalue { i8*, i32 } %5, 1
  store i32 %7, i32* %ehselector.slot
  call void @_ZNSt12_Vector_baseIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE12_Vector_implD1Ev(%"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val9 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val9
}

define linkonce_odr %"class.boost::detail::edge_desc_impl"* @_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail14edge_desc_implINS2_14undirected_tagEjEESt6vectorIS6_SaIS6_EEEEPS6_S6_ET0_T_SF_SE_RSaIT1_E(%"class.__gnu_cxx::__normal_iterator.31"* byval align 4 %__first, %"class.__gnu_cxx::__normal_iterator.31"* byval align 4 %__last, %"class.boost::detail::edge_desc_impl"* %__result, %"class.std::allocator.5"*) inlinehint {
entry:
  %__result.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %.addr = alloca %"class.std::allocator.5"*, align 4
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator.31", align 4
  %agg.tmp1 = alloca %"class.__gnu_cxx::__normal_iterator.31", align 4
  store %"class.boost::detail::edge_desc_impl"* %__result, %"class.boost::detail::edge_desc_impl"** %__result.addr, align 4
  store %"class.std::allocator.5"* %0, %"class.std::allocator.5"** %.addr, align 4
  %1 = bitcast %"class.__gnu_cxx::__normal_iterator.31"* %agg.tmp to i8*
  %2 = bitcast %"class.__gnu_cxx::__normal_iterator.31"* %__first to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1, i8* %2, i32 4, i32 4, i1 false)
  %3 = bitcast %"class.__gnu_cxx::__normal_iterator.31"* %agg.tmp1 to i8*
  %4 = bitcast %"class.__gnu_cxx::__normal_iterator.31"* %__last to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* %4, i32 4, i32 4, i1 false)
  %5 = load %"class.boost::detail::edge_desc_impl"** %__result.addr, align 4
  %call = call %"class.boost::detail::edge_desc_impl"* @_ZSt18uninitialized_copyIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail14edge_desc_implINS2_14undirected_tagEjEESt6vectorIS6_SaIS6_EEEEPS6_ET0_T_SF_SE_(%"class.__gnu_cxx::__normal_iterator.31"* byval align 4 %agg.tmp, %"class.__gnu_cxx::__normal_iterator.31"* byval align 4 %agg.tmp1, %"class.boost::detail::edge_desc_impl"* %5)
  ret %"class.boost::detail::edge_desc_impl"* %call
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EED2Ev(%"struct.std::_Vector_base.4"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base.4"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"struct.std::_Vector_base.4"* %this, %"struct.std::_Vector_base.4"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base.4"** %this.addr
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.4"* %this1, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl, i32 0, i32 0
  %0 = load %"class.boost::detail::edge_desc_impl"** %_M_start, align 4
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base.4"* %this1, i32 0, i32 0
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl2, i32 0, i32 2
  %1 = load %"class.boost::detail::edge_desc_impl"** %_M_end_of_storage, align 4
  %_M_impl3 = getelementptr inbounds %"struct.std::_Vector_base.4"* %this1, i32 0, i32 0
  %_M_start4 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl3, i32 0, i32 0
  %2 = load %"class.boost::detail::edge_desc_impl"** %_M_start4, align 4
  %sub.ptr.lhs.cast = ptrtoint %"class.boost::detail::edge_desc_impl"* %1 to i32
  %sub.ptr.rhs.cast = ptrtoint %"class.boost::detail::edge_desc_impl"* %2 to i32
  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  %sub.ptr.div = sdiv exact i32 %sub.ptr.sub, 12
  invoke void @_ZNSt12_Vector_baseIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE13_M_deallocateEPS4_j(%"struct.std::_Vector_base.4"* %this1, %"class.boost::detail::edge_desc_impl"* %0, i32 %sub.ptr.div)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %_M_impl5 = getelementptr inbounds %"struct.std::_Vector_base.4"* %this1, i32 0, i32 0
  call void @_ZNSt12_Vector_baseIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE12_Vector_implD1Ev(%"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl5) nounwind
  ret void

lpad:                                             ; preds = %entry
  %3 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %4 = extractvalue { i8*, i32 } %3, 0
  store i8* %4, i8** %exn.slot
  %5 = extractvalue { i8*, i32 } %3, 1
  store i32 %5, i32* %ehselector.slot
  %_M_impl6 = getelementptr inbounds %"struct.std::_Vector_base.4"* %this1, i32 0, i32 0
  call void @_ZNSt12_Vector_baseIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE12_Vector_implD1Ev(%"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl6) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val7 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val7
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE12_Vector_implD1Ev(%"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %this) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"*, align 4
  store %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %this, %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"** %this.addr
  call void @_ZNSt12_Vector_baseIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE12_Vector_implD2Ev(%"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %this1) nounwind
  ret void
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE12_Vector_implD2Ev(%"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %this) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"*, align 4
  store %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %this, %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"** %this.addr
  %0 = bitcast %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %this1 to %"class.std::allocator.5"*
  call void @_ZNSaIN5boost6detail14edge_desc_implINS_14undirected_tagEjEEED2Ev(%"class.std::allocator.5"* %0) nounwind
  ret void
}

define linkonce_odr void @_ZNSaIN5boost6detail14edge_desc_implINS_14undirected_tagEjEEED2Ev(%"class.std::allocator.5"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator.5"*, align 4
  store %"class.std::allocator.5"* %this, %"class.std::allocator.5"** %this.addr, align 4
  %this1 = load %"class.std::allocator.5"** %this.addr
  %0 = bitcast %"class.std::allocator.5"* %this1 to %"class.__gnu_cxx::new_allocator.6"*
  call void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail14edge_desc_implINS1_14undirected_tagEjEEED2Ev(%"class.__gnu_cxx::new_allocator.6"* %0) nounwind
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail14edge_desc_implINS1_14undirected_tagEjEEED2Ev(%"class.__gnu_cxx::new_allocator.6"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.6"*, align 4
  store %"class.__gnu_cxx::new_allocator.6"* %this, %"class.__gnu_cxx::new_allocator.6"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.6"** %this.addr
  ret void
}

define linkonce_odr %"class.boost::detail::edge_desc_impl"* @_ZSt18uninitialized_copyIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail14edge_desc_implINS2_14undirected_tagEjEESt6vectorIS6_SaIS6_EEEEPS6_ET0_T_SF_SE_(%"class.__gnu_cxx::__normal_iterator.31"* byval align 4 %__first, %"class.__gnu_cxx::__normal_iterator.31"* byval align 4 %__last, %"class.boost::detail::edge_desc_impl"* %__result) inlinehint {
entry:
  %__result.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator.31", align 4
  %agg.tmp1 = alloca %"class.__gnu_cxx::__normal_iterator.31", align 4
  store %"class.boost::detail::edge_desc_impl"* %__result, %"class.boost::detail::edge_desc_impl"** %__result.addr, align 4
  %0 = bitcast %"class.__gnu_cxx::__normal_iterator.31"* %agg.tmp to i8*
  %1 = bitcast %"class.__gnu_cxx::__normal_iterator.31"* %__first to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 4, i32 4, i1 false)
  %2 = bitcast %"class.__gnu_cxx::__normal_iterator.31"* %agg.tmp1 to i8*
  %3 = bitcast %"class.__gnu_cxx::__normal_iterator.31"* %__last to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %2, i8* %3, i32 4, i32 4, i1 false)
  %4 = load %"class.boost::detail::edge_desc_impl"** %__result.addr, align 4
  %call = call %"class.boost::detail::edge_desc_impl"* @_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail14edge_desc_implINS4_14undirected_tagEjEESt6vectorIS8_SaIS8_EEEEPS8_EET0_T_SH_SG_(%"class.__gnu_cxx::__normal_iterator.31"* byval align 4 %agg.tmp, %"class.__gnu_cxx::__normal_iterator.31"* byval align 4 %agg.tmp1, %"class.boost::detail::edge_desc_impl"* %4)
  ret %"class.boost::detail::edge_desc_impl"* %call
}

define linkonce_odr %"class.boost::detail::edge_desc_impl"* @_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail14edge_desc_implINS4_14undirected_tagEjEESt6vectorIS8_SaIS8_EEEEPS8_EET0_T_SH_SG_(%"class.__gnu_cxx::__normal_iterator.31"* byval align 4 %__first, %"class.__gnu_cxx::__normal_iterator.31"* byval align 4 %__last, %"class.boost::detail::edge_desc_impl"* %__result) align 2 {
entry:
  %__result.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %__cur = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.boost::detail::edge_desc_impl"* %__result, %"class.boost::detail::edge_desc_impl"** %__result.addr, align 4
  %0 = load %"class.boost::detail::edge_desc_impl"** %__result.addr, align 4
  store %"class.boost::detail::edge_desc_impl"* %0, %"class.boost::detail::edge_desc_impl"** %__cur, align 4
  br label %for.cond

for.cond:                                         ; preds = %invoke.cont6, %entry
  %call = invoke zeroext i1 @_ZN9__gnu_cxxneIPKN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEEbRKNS_17__normal_iteratorIT_T0_EESG_(%"class.__gnu_cxx::__normal_iterator.31"* %__first, %"class.__gnu_cxx::__normal_iterator.31"* %__last)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %for.cond
  br i1 %call, label %for.body, label %for.end

for.body:                                         ; preds = %invoke.cont
  %1 = load %"class.boost::detail::edge_desc_impl"** %__cur, align 4
  %call2 = invoke %"class.boost::detail::edge_desc_impl"* @_ZSt11__addressofIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEEEPT_RS5_(%"class.boost::detail::edge_desc_impl"* %1)
          to label %invoke.cont1 unwind label %lpad

invoke.cont1:                                     ; preds = %for.body
  %call4 = invoke %"class.boost::detail::edge_desc_impl"* @_ZNK9__gnu_cxx17__normal_iteratorIPKN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEdeEv(%"class.__gnu_cxx::__normal_iterator.31"* %__first)
          to label %invoke.cont3 unwind label %lpad

invoke.cont3:                                     ; preds = %invoke.cont1
  invoke void @_ZSt10_ConstructIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEES4_EvPT_RKT0_(%"class.boost::detail::edge_desc_impl"* %call2, %"class.boost::detail::edge_desc_impl"* %call4)
          to label %invoke.cont5 unwind label %lpad

invoke.cont5:                                     ; preds = %invoke.cont3
  br label %for.inc

for.inc:                                          ; preds = %invoke.cont5
  %call7 = invoke %"class.__gnu_cxx::__normal_iterator.31"* @_ZN9__gnu_cxx17__normal_iteratorIPKN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEppEv(%"class.__gnu_cxx::__normal_iterator.31"* %__first)
          to label %invoke.cont6 unwind label %lpad

invoke.cont6:                                     ; preds = %for.inc
  %2 = load %"class.boost::detail::edge_desc_impl"** %__cur, align 4
  %incdec.ptr = getelementptr inbounds %"class.boost::detail::edge_desc_impl"* %2, i32 1
  store %"class.boost::detail::edge_desc_impl"* %incdec.ptr, %"class.boost::detail::edge_desc_impl"** %__cur, align 4
  br label %for.cond

lpad:                                             ; preds = %for.inc, %invoke.cont3, %invoke.cont1, %for.body, %for.cond
  %3 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  %4 = extractvalue { i8*, i32 } %3, 0
  store i8* %4, i8** %exn.slot
  %5 = extractvalue { i8*, i32 } %3, 1
  store i32 %5, i32* %ehselector.slot
  br label %catch

catch:                                            ; preds = %lpad
  %exn = load i8** %exn.slot
  %6 = call i8* @__cxa_begin_catch(i8* %exn) nounwind
  %7 = load %"class.boost::detail::edge_desc_impl"** %__result.addr, align 4
  %8 = load %"class.boost::detail::edge_desc_impl"** %__cur, align 4
  invoke void @_ZSt8_DestroyIPN5boost6detail14edge_desc_implINS0_14undirected_tagEjEEEvT_S6_(%"class.boost::detail::edge_desc_impl"* %7, %"class.boost::detail::edge_desc_impl"* %8)
          to label %invoke.cont9 unwind label %lpad8

invoke.cont9:                                     ; preds = %catch
  invoke void @__cxa_rethrow() noreturn
          to label %unreachable unwind label %lpad8

for.end:                                          ; preds = %invoke.cont
  %9 = load %"class.boost::detail::edge_desc_impl"** %__cur, align 4
  ret %"class.boost::detail::edge_desc_impl"* %9

lpad8:                                            ; preds = %invoke.cont9, %catch
  %10 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %11 = extractvalue { i8*, i32 } %10, 0
  store i8* %11, i8** %exn.slot
  %12 = extractvalue { i8*, i32 } %10, 1
  store i32 %12, i32* %ehselector.slot
  invoke void @__cxa_end_catch()
          to label %invoke.cont10 unwind label %terminate.lpad

invoke.cont10:                                    ; preds = %lpad8
  br label %eh.resume

try.cont:                                         ; No predecessors!
  call void @llvm.trap()
  unreachable

eh.resume:                                        ; preds = %invoke.cont10
  %exn11 = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn11, 0
  %lpad.val12 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val12

terminate.lpad:                                   ; preds = %lpad8
  %13 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable

unreachable:                                      ; preds = %invoke.cont9
  unreachable
}

define linkonce_odr zeroext i1 @_ZN9__gnu_cxxneIPKN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEEbRKNS_17__normal_iteratorIT_T0_EESG_(%"class.__gnu_cxx::__normal_iterator.31"* %__lhs, %"class.__gnu_cxx::__normal_iterator.31"* %__rhs) nounwind inlinehint {
entry:
  %__lhs.addr = alloca %"class.__gnu_cxx::__normal_iterator.31"*, align 4
  %__rhs.addr = alloca %"class.__gnu_cxx::__normal_iterator.31"*, align 4
  store %"class.__gnu_cxx::__normal_iterator.31"* %__lhs, %"class.__gnu_cxx::__normal_iterator.31"** %__lhs.addr, align 4
  store %"class.__gnu_cxx::__normal_iterator.31"* %__rhs, %"class.__gnu_cxx::__normal_iterator.31"** %__rhs.addr, align 4
  %0 = load %"class.__gnu_cxx::__normal_iterator.31"** %__lhs.addr, align 4
  %call = call %"class.boost::detail::edge_desc_impl"** @_ZNK9__gnu_cxx17__normal_iteratorIPKN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.31"* %0)
  %1 = load %"class.boost::detail::edge_desc_impl"** %call
  %2 = load %"class.__gnu_cxx::__normal_iterator.31"** %__rhs.addr, align 4
  %call1 = call %"class.boost::detail::edge_desc_impl"** @_ZNK9__gnu_cxx17__normal_iteratorIPKN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.31"* %2)
  %3 = load %"class.boost::detail::edge_desc_impl"** %call1
  %cmp = icmp ne %"class.boost::detail::edge_desc_impl"* %1, %3
  ret i1 %cmp
}

define linkonce_odr %"class.__gnu_cxx::__normal_iterator.31"* @_ZN9__gnu_cxx17__normal_iteratorIPKN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESt6vectorIS5_SaIS5_EEEppEv(%"class.__gnu_cxx::__normal_iterator.31"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.31"*, align 4
  store %"class.__gnu_cxx::__normal_iterator.31"* %this, %"class.__gnu_cxx::__normal_iterator.31"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.31"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.31"* %this1, i32 0, i32 0
  %0 = load %"class.boost::detail::edge_desc_impl"** %_M_current, align 4
  %incdec.ptr = getelementptr inbounds %"class.boost::detail::edge_desc_impl"* %0, i32 1
  store %"class.boost::detail::edge_desc_impl"* %incdec.ptr, %"class.boost::detail::edge_desc_impl"** %_M_current, align 4
  ret %"class.__gnu_cxx::__normal_iterator.31"* %this1
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE12_Vector_implC1ERKS5_(%"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %this, %"class.std::allocator.5"* %__a) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"*, align 4
  %__a.addr = alloca %"class.std::allocator.5"*, align 4
  store %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %this, %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"** %this.addr, align 4
  store %"class.std::allocator.5"* %__a, %"class.std::allocator.5"** %__a.addr, align 4
  %this1 = load %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"** %this.addr
  %0 = load %"class.std::allocator.5"** %__a.addr
  call void @_ZNSt12_Vector_baseIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE12_Vector_implC2ERKS5_(%"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %this1, %"class.std::allocator.5"* %0)
  ret void
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE12_Vector_implC2ERKS5_(%"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %this, %"class.std::allocator.5"* %__a) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"*, align 4
  %__a.addr = alloca %"class.std::allocator.5"*, align 4
  store %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %this, %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"** %this.addr, align 4
  store %"class.std::allocator.5"* %__a, %"class.std::allocator.5"** %__a.addr, align 4
  %this1 = load %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"** %this.addr
  %0 = bitcast %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %this1 to %"class.std::allocator.5"*
  %1 = load %"class.std::allocator.5"** %__a.addr, align 4
  call void @_ZNSaIN5boost6detail14edge_desc_implINS_14undirected_tagEjEEEC2ERKS4_(%"class.std::allocator.5"* %0, %"class.std::allocator.5"* %1) nounwind
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %this1, i32 0, i32 0
  store %"class.boost::detail::edge_desc_impl"* null, %"class.boost::detail::edge_desc_impl"** %_M_start, align 4
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %this1, i32 0, i32 1
  store %"class.boost::detail::edge_desc_impl"* null, %"class.boost::detail::edge_desc_impl"** %_M_finish, align 4
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %this1, i32 0, i32 2
  store %"class.boost::detail::edge_desc_impl"* null, %"class.boost::detail::edge_desc_impl"** %_M_end_of_storage, align 4
  ret void
}

define linkonce_odr void @_ZNSaIN5boost6detail14edge_desc_implINS_14undirected_tagEjEEEC2ERKS4_(%"class.std::allocator.5"* %this, %"class.std::allocator.5"* %__a) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator.5"*, align 4
  %__a.addr = alloca %"class.std::allocator.5"*, align 4
  store %"class.std::allocator.5"* %this, %"class.std::allocator.5"** %this.addr, align 4
  store %"class.std::allocator.5"* %__a, %"class.std::allocator.5"** %__a.addr, align 4
  %this1 = load %"class.std::allocator.5"** %this.addr
  %0 = bitcast %"class.std::allocator.5"* %this1 to %"class.__gnu_cxx::new_allocator.6"*
  %1 = load %"class.std::allocator.5"** %__a.addr, align 4
  %2 = bitcast %"class.std::allocator.5"* %1 to %"class.__gnu_cxx::new_allocator.6"*
  call void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail14edge_desc_implINS1_14undirected_tagEjEEEC2ERKS6_(%"class.__gnu_cxx::new_allocator.6"* %0, %"class.__gnu_cxx::new_allocator.6"* %2) nounwind
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail14edge_desc_implINS1_14undirected_tagEjEEEC2ERKS6_(%"class.__gnu_cxx::new_allocator.6"* %this, %"class.__gnu_cxx::new_allocator.6"*) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.6"*, align 4
  %.addr = alloca %"class.__gnu_cxx::new_allocator.6"*, align 4
  store %"class.__gnu_cxx::new_allocator.6"* %this, %"class.__gnu_cxx::new_allocator.6"** %this.addr, align 4
  store %"class.__gnu_cxx::new_allocator.6"* %0, %"class.__gnu_cxx::new_allocator.6"** %.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.6"** %this.addr
  ret void
}

define linkonce_odr void @_ZN5boost12indirect_cmpINS_26adj_list_edge_property_mapINS_14undirected_tagEiRKijKNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEES6_EESt7greaterIiEEC2ERKSA_RKSC_(%"class.boost::indirect_cmp"* %this, %"struct.boost::adj_list_edge_property_map.24"* %df, %"struct.std::greater"* %c) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::indirect_cmp"*, align 4
  %df.addr = alloca %"struct.boost::adj_list_edge_property_map.24"*, align 4
  %c.addr = alloca %"struct.std::greater"*, align 4
  store %"class.boost::indirect_cmp"* %this, %"class.boost::indirect_cmp"** %this.addr, align 4
  store %"struct.boost::adj_list_edge_property_map.24"* %df, %"struct.boost::adj_list_edge_property_map.24"** %df.addr, align 4
  store %"struct.std::greater"* %c, %"struct.std::greater"** %c.addr, align 4
  %this1 = load %"class.boost::indirect_cmp"** %this.addr
  %d = getelementptr inbounds %"class.boost::indirect_cmp"* %this1, i32 0, i32 0
  %0 = load %"struct.boost::adj_list_edge_property_map.24"** %df.addr, align 4
  %1 = bitcast %"struct.boost::adj_list_edge_property_map.24"* %d to i8*
  %2 = bitcast %"struct.boost::adj_list_edge_property_map.24"* %0 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1, i8* %2, i32 4, i32 4, i1 false)
  %cmp = getelementptr inbounds %"class.boost::indirect_cmp"* %this1, i32 0, i32 1
  %3 = load %"struct.std::greater"** %c.addr, align 4
  ret void
}

define linkonce_odr void @_ZN5boost20iterator_core_access9incrementINS_12range_detail16integer_iteratorIjEEEEvRT_(%"class.boost::range_detail::integer_iterator"* %f) align 2 {
entry:
  %f.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  store %"class.boost::range_detail::integer_iterator"* %f, %"class.boost::range_detail::integer_iterator"** %f.addr, align 4
  %0 = load %"class.boost::range_detail::integer_iterator"** %f.addr, align 4
  call void @_ZN5boost12range_detail16integer_iteratorIjE9incrementEv(%"class.boost::range_detail::integer_iterator"* %0)
  ret void
}

define linkonce_odr %"class.boost::range_detail::integer_iterator"* @_ZN5boost15iterator_facadeINS_12range_detail16integer_iteratorIjEEjNS_27random_access_traversal_tagEjiE7derivedEv(%"class.boost::iterator_facade.26"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::iterator_facade.26"*, align 4
  store %"class.boost::iterator_facade.26"* %this, %"class.boost::iterator_facade.26"** %this.addr, align 4
  %this1 = load %"class.boost::iterator_facade.26"** %this.addr
  %0 = bitcast %"class.boost::iterator_facade.26"* %this1 to %"class.boost::range_detail::integer_iterator"*
  ret %"class.boost::range_detail::integer_iterator"* %0
}

define linkonce_odr void @_ZN5boost12range_detail16integer_iteratorIjE9incrementEv(%"class.boost::range_detail::integer_iterator"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  store %"class.boost::range_detail::integer_iterator"* %this, %"class.boost::range_detail::integer_iterator"** %this.addr, align 4
  %this1 = load %"class.boost::range_detail::integer_iterator"** %this.addr
  %m_value = getelementptr inbounds %"class.boost::range_detail::integer_iterator"* %this1, i32 0, i32 0
  %0 = load i32* %m_value, align 4
  %inc = add i32 %0, 1
  store i32 %inc, i32* %m_value, align 4
  ret void
}

define linkonce_odr i32 @_ZN5boost20iterator_core_access11dereferenceINS_12range_detail16integer_iteratorIjEEEENT_9referenceERKS5_(%"class.boost::range_detail::integer_iterator"* %f) align 2 {
entry:
  %f.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  store %"class.boost::range_detail::integer_iterator"* %f, %"class.boost::range_detail::integer_iterator"** %f.addr, align 4
  %0 = load %"class.boost::range_detail::integer_iterator"** %f.addr, align 4
  %call = call i32 @_ZNK5boost12range_detail16integer_iteratorIjE11dereferenceEv(%"class.boost::range_detail::integer_iterator"* %0)
  ret i32 %call
}

define linkonce_odr %"class.boost::range_detail::integer_iterator"* @_ZNK5boost15iterator_facadeINS_12range_detail16integer_iteratorIjEEjNS_27random_access_traversal_tagEjiE7derivedEv(%"class.boost::iterator_facade.26"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::iterator_facade.26"*, align 4
  store %"class.boost::iterator_facade.26"* %this, %"class.boost::iterator_facade.26"** %this.addr, align 4
  %this1 = load %"class.boost::iterator_facade.26"** %this.addr
  %0 = bitcast %"class.boost::iterator_facade.26"* %this1 to %"class.boost::range_detail::integer_iterator"*
  ret %"class.boost::range_detail::integer_iterator"* %0
}

define linkonce_odr i32 @_ZNK5boost12range_detail16integer_iteratorIjE11dereferenceEv(%"class.boost::range_detail::integer_iterator"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  store %"class.boost::range_detail::integer_iterator"* %this, %"class.boost::range_detail::integer_iterator"** %this.addr, align 4
  %this1 = load %"class.boost::range_detail::integer_iterator"** %this.addr
  %m_value = getelementptr inbounds %"class.boost::range_detail::integer_iterator"* %this1, i32 0, i32 0
  %0 = load i32* %m_value, align 4
  ret i32 %0
}

define linkonce_odr zeroext i1 @_ZN5boost20iterator_core_access5equalINS_12range_detail16integer_iteratorIjEES4_EEbRKT_RKT0_N4mpl_5bool_ILb1EEE(%"class.boost::range_detail::integer_iterator"* %f1, %"class.boost::range_detail::integer_iterator"* %f2) align 2 {
entry:
  %f1.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  %f2.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  %0 = alloca %"struct.mpl_::bool_", align 1
  store %"class.boost::range_detail::integer_iterator"* %f1, %"class.boost::range_detail::integer_iterator"** %f1.addr, align 4
  store %"class.boost::range_detail::integer_iterator"* %f2, %"class.boost::range_detail::integer_iterator"** %f2.addr, align 4
  %1 = load %"class.boost::range_detail::integer_iterator"** %f1.addr, align 4
  %2 = load %"class.boost::range_detail::integer_iterator"** %f2.addr, align 4
  %call = call zeroext i1 @_ZNK5boost12range_detail16integer_iteratorIjE5equalERKS2_(%"class.boost::range_detail::integer_iterator"* %1, %"class.boost::range_detail::integer_iterator"* %2)
  ret i1 %call
}

define linkonce_odr zeroext i1 @_ZNK5boost12range_detail16integer_iteratorIjE5equalERKS2_(%"class.boost::range_detail::integer_iterator"* %this, %"class.boost::range_detail::integer_iterator"* %other) nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  %other.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  store %"class.boost::range_detail::integer_iterator"* %this, %"class.boost::range_detail::integer_iterator"** %this.addr, align 4
  store %"class.boost::range_detail::integer_iterator"* %other, %"class.boost::range_detail::integer_iterator"** %other.addr, align 4
  %this1 = load %"class.boost::range_detail::integer_iterator"** %this.addr
  %m_value = getelementptr inbounds %"class.boost::range_detail::integer_iterator"* %this1, i32 0, i32 0
  %0 = load i32* %m_value, align 4
  %1 = load %"class.boost::range_detail::integer_iterator"** %other.addr, align 4
  %m_value2 = getelementptr inbounds %"class.boost::range_detail::integer_iterator"* %1, i32 0, i32 0
  %2 = load i32* %m_value2, align 4
  %cmp = icmp eq i32 %0, %2
  ret i1 %cmp
}

define linkonce_odr void @_ZSt9make_pairIN5boost12range_detail16integer_iteratorIjEES3_ESt4pairIT_T0_ES5_S6_(%"struct.std::pair.30"* noalias sret %agg.result, %"class.boost::range_detail::integer_iterator"* byval align 4 %__x, %"class.boost::range_detail::integer_iterator"* byval align 4 %__y) inlinehint {
entry:
  call void @_ZNSt4pairIN5boost12range_detail16integer_iteratorIjEES3_EC1ERKS3_S6_(%"struct.std::pair.30"* %agg.result, %"class.boost::range_detail::integer_iterator"* %__x, %"class.boost::range_detail::integer_iterator"* %__y)
  ret void
}

define linkonce_odr void @_ZNK5boost17vec_adj_list_implINS_14adjacency_listINS_4vecSES2_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS4_EES4_NS_5listSEEENS_6detail12adj_list_genIS9_S2_S2_S3_S4_S7_S4_S8_E6configENS_23undirected_graph_helperISD_EEE10vertex_setEv(%"class.boost::integer_range"* noalias sret %agg.result, %"class.boost::vec_adj_list_impl"* %this) inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::vec_adj_list_impl"*, align 4
  store %"class.boost::vec_adj_list_impl"* %this, %"class.boost::vec_adj_list_impl"** %this.addr, align 4
  %this1 = load %"class.boost::vec_adj_list_impl"** %this.addr
  %m_vertices = getelementptr inbounds %"class.boost::vec_adj_list_impl"* %this1, i32 0, i32 1
  %call = call i32 @_ZNKSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE4sizeEv(%"class.std::vector"* %m_vertices)
  call void @_ZN5boost13integer_rangeIjEC1Ejj(%"class.boost::integer_range"* %agg.result, i32 0, i32 %call)
  ret void
}

define linkonce_odr void @_ZNK5boost14iterator_rangeINS_12range_detail16integer_iteratorIjEEE5beginEv(%"class.boost::range_detail::integer_iterator"* noalias sret %agg.result, %"class.boost::iterator_range"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::iterator_range"*, align 4
  store %"class.boost::iterator_range"* %this, %"class.boost::iterator_range"** %this.addr, align 4
  %this1 = load %"class.boost::iterator_range"** %this.addr
  %m_Begin = getelementptr inbounds %"class.boost::iterator_range"* %this1, i32 0, i32 0
  %0 = bitcast %"class.boost::range_detail::integer_iterator"* %agg.result to i8*
  %1 = bitcast %"class.boost::range_detail::integer_iterator"* %m_Begin to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 4, i32 4, i1 false)
  ret void
}

define linkonce_odr void @_ZNK5boost14iterator_rangeINS_12range_detail16integer_iteratorIjEEE3endEv(%"class.boost::range_detail::integer_iterator"* noalias sret %agg.result, %"class.boost::iterator_range"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::iterator_range"*, align 4
  store %"class.boost::iterator_range"* %this, %"class.boost::iterator_range"** %this.addr, align 4
  %this1 = load %"class.boost::iterator_range"** %this.addr
  %m_End = getelementptr inbounds %"class.boost::iterator_range"* %this1, i32 0, i32 1
  %0 = bitcast %"class.boost::range_detail::integer_iterator"* %agg.result to i8*
  %1 = bitcast %"class.boost::range_detail::integer_iterator"* %m_End to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 4, i32 4, i1 false)
  ret void
}

define linkonce_odr void @_ZN5boost13integer_rangeIjEC1Ejj(%"class.boost::integer_range"* %this, i32 %first, i32 %last) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::integer_range"*, align 4
  %first.addr = alloca i32, align 4
  %last.addr = alloca i32, align 4
  store %"class.boost::integer_range"* %this, %"class.boost::integer_range"** %this.addr, align 4
  store i32 %first, i32* %first.addr, align 4
  store i32 %last, i32* %last.addr, align 4
  %this1 = load %"class.boost::integer_range"** %this.addr
  %0 = load i32* %first.addr, align 4
  %1 = load i32* %last.addr, align 4
  call void @_ZN5boost13integer_rangeIjEC2Ejj(%"class.boost::integer_range"* %this1, i32 %0, i32 %1)
  ret void
}

define linkonce_odr i32 @_ZNKSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE4sizeEv(%"class.std::vector"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::vector"*, align 4
  store %"class.std::vector"* %this, %"class.std::vector"** %this.addr, align 4
  %this1 = load %"class.std::vector"** %this.addr
  %0 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base"* %0, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl, i32 0, i32 1
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish, align 4
  %2 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base"* %2, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl2, i32 0, i32 0
  %3 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_start, align 4
  %sub.ptr.lhs.cast = ptrtoint %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %1 to i32
  %sub.ptr.rhs.cast = ptrtoint %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %3 to i32
  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  %sub.ptr.div = sdiv exact i32 %sub.ptr.sub, 16
  ret i32 %sub.ptr.div
}

define linkonce_odr void @_ZN5boost13integer_rangeIjEC2Ejj(%"class.boost::integer_range"* %this, i32 %first, i32 %last) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::integer_range"*, align 4
  %first.addr = alloca i32, align 4
  %last.addr = alloca i32, align 4
  %agg.tmp = alloca %"class.boost::range_detail::integer_iterator", align 4
  %agg.tmp2 = alloca %"class.boost::range_detail::integer_iterator", align 4
  store %"class.boost::integer_range"* %this, %"class.boost::integer_range"** %this.addr, align 4
  store i32 %first, i32* %first.addr, align 4
  store i32 %last, i32* %last.addr, align 4
  %this1 = load %"class.boost::integer_range"** %this.addr
  %0 = bitcast %"class.boost::integer_range"* %this1 to %"class.boost::iterator_range"*
  %1 = load i32* %first.addr, align 4
  call void @_ZN5boost12range_detail16integer_iteratorIjEC1Ej(%"class.boost::range_detail::integer_iterator"* %agg.tmp, i32 %1)
  %2 = load i32* %last.addr, align 4
  call void @_ZN5boost12range_detail16integer_iteratorIjEC1Ej(%"class.boost::range_detail::integer_iterator"* %agg.tmp2, i32 %2)
  call void @_ZN5boost14iterator_rangeINS_12range_detail16integer_iteratorIjEEEC2IS3_EET_S6_(%"class.boost::iterator_range"* %0, %"class.boost::range_detail::integer_iterator"* byval align 4 %agg.tmp, %"class.boost::range_detail::integer_iterator"* byval align 4 %agg.tmp2)
  ret void
}

define linkonce_odr void @_ZN5boost14iterator_rangeINS_12range_detail16integer_iteratorIjEEEC2IS3_EET_S6_(%"class.boost::iterator_range"* %this, %"class.boost::range_detail::integer_iterator"* byval align 4 %Begin, %"class.boost::range_detail::integer_iterator"* byval align 4 %End) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::iterator_range"*, align 4
  store %"class.boost::iterator_range"* %this, %"class.boost::iterator_range"** %this.addr, align 4
  %this1 = load %"class.boost::iterator_range"** %this.addr
  %m_Begin = getelementptr inbounds %"class.boost::iterator_range"* %this1, i32 0, i32 0
  %0 = bitcast %"class.boost::range_detail::integer_iterator"* %m_Begin to i8*
  %1 = bitcast %"class.boost::range_detail::integer_iterator"* %Begin to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 4, i32 4, i1 false)
  %m_End = getelementptr inbounds %"class.boost::iterator_range"* %this1, i32 0, i32 1
  %2 = bitcast %"class.boost::range_detail::integer_iterator"* %m_End to i8*
  %3 = bitcast %"class.boost::range_detail::integer_iterator"* %End to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %2, i8* %3, i32 4, i32 4, i1 false)
  ret void
}

define linkonce_odr void @_ZN5boost12range_detail16integer_iteratorIjEC1Ej(%"class.boost::range_detail::integer_iterator"* %this, i32 %x) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  %x.addr = alloca i32, align 4
  store %"class.boost::range_detail::integer_iterator"* %this, %"class.boost::range_detail::integer_iterator"** %this.addr, align 4
  store i32 %x, i32* %x.addr, align 4
  %this1 = load %"class.boost::range_detail::integer_iterator"** %this.addr
  %0 = load i32* %x.addr, align 4
  call void @_ZN5boost12range_detail16integer_iteratorIjEC2Ej(%"class.boost::range_detail::integer_iterator"* %this1, i32 %0)
  ret void
}

define linkonce_odr void @_ZN5boost12range_detail16integer_iteratorIjEC2Ej(%"class.boost::range_detail::integer_iterator"* %this, i32 %x) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  %x.addr = alloca i32, align 4
  store %"class.boost::range_detail::integer_iterator"* %this, %"class.boost::range_detail::integer_iterator"** %this.addr, align 4
  store i32 %x, i32* %x.addr, align 4
  %this1 = load %"class.boost::range_detail::integer_iterator"** %this.addr
  %0 = bitcast %"class.boost::range_detail::integer_iterator"* %this1 to %"class.boost::iterator_facade.26"*
  %m_value = getelementptr inbounds %"class.boost::range_detail::integer_iterator"* %this1, i32 0, i32 0
  %1 = load i32* %x.addr, align 4
  store i32 %1, i32* %m_value, align 4
  ret void
}

define linkonce_odr void @_ZNSt4pairIN5boost12range_detail16integer_iteratorIjEES3_EC1ERKS3_S6_(%"struct.std::pair.30"* %this, %"class.boost::range_detail::integer_iterator"* %__a, %"class.boost::range_detail::integer_iterator"* %__b) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::pair.30"*, align 4
  %__a.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  %__b.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  store %"struct.std::pair.30"* %this, %"struct.std::pair.30"** %this.addr, align 4
  store %"class.boost::range_detail::integer_iterator"* %__a, %"class.boost::range_detail::integer_iterator"** %__a.addr, align 4
  store %"class.boost::range_detail::integer_iterator"* %__b, %"class.boost::range_detail::integer_iterator"** %__b.addr, align 4
  %this1 = load %"struct.std::pair.30"** %this.addr
  %0 = load %"class.boost::range_detail::integer_iterator"** %__a.addr
  %1 = load %"class.boost::range_detail::integer_iterator"** %__b.addr
  call void @_ZNSt4pairIN5boost12range_detail16integer_iteratorIjEES3_EC2ERKS3_S6_(%"struct.std::pair.30"* %this1, %"class.boost::range_detail::integer_iterator"* %0, %"class.boost::range_detail::integer_iterator"* %1)
  ret void
}

define linkonce_odr void @_ZNSt4pairIN5boost12range_detail16integer_iteratorIjEES3_EC2ERKS3_S6_(%"struct.std::pair.30"* %this, %"class.boost::range_detail::integer_iterator"* %__a, %"class.boost::range_detail::integer_iterator"* %__b) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::pair.30"*, align 4
  %__a.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  %__b.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  store %"struct.std::pair.30"* %this, %"struct.std::pair.30"** %this.addr, align 4
  store %"class.boost::range_detail::integer_iterator"* %__a, %"class.boost::range_detail::integer_iterator"** %__a.addr, align 4
  store %"class.boost::range_detail::integer_iterator"* %__b, %"class.boost::range_detail::integer_iterator"** %__b.addr, align 4
  %this1 = load %"struct.std::pair.30"** %this.addr
  %first = getelementptr inbounds %"struct.std::pair.30"* %this1, i32 0, i32 0
  %0 = load %"class.boost::range_detail::integer_iterator"** %__a.addr, align 4
  %1 = bitcast %"class.boost::range_detail::integer_iterator"* %first to i8*
  %2 = bitcast %"class.boost::range_detail::integer_iterator"* %0 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1, i8* %2, i32 4, i32 4, i1 false)
  %second = getelementptr inbounds %"struct.std::pair.30"* %this1, i32 0, i32 1
  %3 = load %"class.boost::range_detail::integer_iterator"** %__b.addr, align 4
  %4 = bitcast %"class.boost::range_detail::integer_iterator"* %second to i8*
  %5 = bitcast %"class.boost::range_detail::integer_iterator"* %3 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %5, i32 4, i32 4, i1 false)
  ret void
}

define linkonce_odr void @_ZN5boost6tuples5tupleIRNS_12range_detail16integer_iteratorIjEES5_NS0_9null_typeES6_S6_S6_S6_S6_S6_S6_EC1ES5_S5_(%"class.boost::tuples::tuple.27"* %this, %"class.boost::range_detail::integer_iterator"* %t0, %"class.boost::range_detail::integer_iterator"* %t1) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::tuples::tuple.27"*, align 4
  %t0.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  %t1.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  store %"class.boost::tuples::tuple.27"* %this, %"class.boost::tuples::tuple.27"** %this.addr, align 4
  store %"class.boost::range_detail::integer_iterator"* %t0, %"class.boost::range_detail::integer_iterator"** %t0.addr, align 4
  store %"class.boost::range_detail::integer_iterator"* %t1, %"class.boost::range_detail::integer_iterator"** %t1.addr, align 4
  %this1 = load %"class.boost::tuples::tuple.27"** %this.addr
  %0 = load %"class.boost::range_detail::integer_iterator"** %t0.addr
  %1 = load %"class.boost::range_detail::integer_iterator"** %t1.addr
  call void @_ZN5boost6tuples5tupleIRNS_12range_detail16integer_iteratorIjEES5_NS0_9null_typeES6_S6_S6_S6_S6_S6_S6_EC2ES5_S5_(%"class.boost::tuples::tuple.27"* %this1, %"class.boost::range_detail::integer_iterator"* %0, %"class.boost::range_detail::integer_iterator"* %1)
  ret void
}

define linkonce_odr void @_ZN5boost6tuples5tupleIRNS_12range_detail16integer_iteratorIjEES5_NS0_9null_typeES6_S6_S6_S6_S6_S6_S6_EC2ES5_S5_(%"class.boost::tuples::tuple.27"* %this, %"class.boost::range_detail::integer_iterator"* %t0, %"class.boost::range_detail::integer_iterator"* %t1) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::tuples::tuple.27"*, align 4
  %t0.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  %t1.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  %ref.tmp = alloca %"struct.boost::tuples::null_type", align 1
  %ref.tmp2 = alloca %"struct.boost::tuples::null_type", align 1
  %ref.tmp3 = alloca %"struct.boost::tuples::null_type", align 1
  %ref.tmp4 = alloca %"struct.boost::tuples::null_type", align 1
  %ref.tmp5 = alloca %"struct.boost::tuples::null_type", align 1
  %ref.tmp6 = alloca %"struct.boost::tuples::null_type", align 1
  %ref.tmp7 = alloca %"struct.boost::tuples::null_type", align 1
  %ref.tmp8 = alloca %"struct.boost::tuples::null_type", align 1
  store %"class.boost::tuples::tuple.27"* %this, %"class.boost::tuples::tuple.27"** %this.addr, align 4
  store %"class.boost::range_detail::integer_iterator"* %t0, %"class.boost::range_detail::integer_iterator"** %t0.addr, align 4
  store %"class.boost::range_detail::integer_iterator"* %t1, %"class.boost::range_detail::integer_iterator"** %t1.addr, align 4
  %this1 = load %"class.boost::tuples::tuple.27"** %this.addr
  %0 = bitcast %"class.boost::tuples::tuple.27"* %this1 to %"struct.boost::tuples::cons.28"*
  %1 = load %"class.boost::range_detail::integer_iterator"** %t0.addr, align 4
  %2 = load %"class.boost::range_detail::integer_iterator"** %t1.addr, align 4
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp)
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp2)
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp3)
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp4)
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp5)
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp6)
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp7)
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp8)
  call void @_ZN5boost6tuples4consIRNS_12range_detail16integer_iteratorIjEENS1_IS5_NS0_9null_typeEEEEC2IS4_S4_KS6_SA_SA_SA_SA_SA_SA_SA_EERT_RT0_RT1_RT2_RT3_RT4_RT5_RT6_RT7_RT8_(%"struct.boost::tuples::cons.28"* %0, %"class.boost::range_detail::integer_iterator"* %1, %"class.boost::range_detail::integer_iterator"* %2, %"struct.boost::tuples::null_type"* %ref.tmp, %"struct.boost::tuples::null_type"* %ref.tmp2, %"struct.boost::tuples::null_type"* %ref.tmp3, %"struct.boost::tuples::null_type"* %ref.tmp4, %"struct.boost::tuples::null_type"* %ref.tmp5, %"struct.boost::tuples::null_type"* %ref.tmp6, %"struct.boost::tuples::null_type"* %ref.tmp7, %"struct.boost::tuples::null_type"* %ref.tmp8)
  ret void
}

define linkonce_odr void @_ZN5boost6tuples4consIRNS_12range_detail16integer_iteratorIjEENS1_IS5_NS0_9null_typeEEEEC2IS4_S4_KS6_SA_SA_SA_SA_SA_SA_SA_EERT_RT0_RT1_RT2_RT3_RT4_RT5_RT6_RT7_RT8_(%"struct.boost::tuples::cons.28"* %this, %"class.boost::range_detail::integer_iterator"* %t1, %"class.boost::range_detail::integer_iterator"* %t2, %"struct.boost::tuples::null_type"* %t3, %"struct.boost::tuples::null_type"* %t4, %"struct.boost::tuples::null_type"* %t5, %"struct.boost::tuples::null_type"* %t6, %"struct.boost::tuples::null_type"* %t7, %"struct.boost::tuples::null_type"* %t8, %"struct.boost::tuples::null_type"* %t9, %"struct.boost::tuples::null_type"* %t10) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::tuples::cons.28"*, align 4
  %t1.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  %t2.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  %t3.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %t4.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %t5.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %t6.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %t7.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %t8.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %t9.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %t10.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %ref.tmp = alloca %"struct.boost::tuples::null_type", align 1
  store %"struct.boost::tuples::cons.28"* %this, %"struct.boost::tuples::cons.28"** %this.addr, align 4
  store %"class.boost::range_detail::integer_iterator"* %t1, %"class.boost::range_detail::integer_iterator"** %t1.addr, align 4
  store %"class.boost::range_detail::integer_iterator"* %t2, %"class.boost::range_detail::integer_iterator"** %t2.addr, align 4
  store %"struct.boost::tuples::null_type"* %t3, %"struct.boost::tuples::null_type"** %t3.addr, align 4
  store %"struct.boost::tuples::null_type"* %t4, %"struct.boost::tuples::null_type"** %t4.addr, align 4
  store %"struct.boost::tuples::null_type"* %t5, %"struct.boost::tuples::null_type"** %t5.addr, align 4
  store %"struct.boost::tuples::null_type"* %t6, %"struct.boost::tuples::null_type"** %t6.addr, align 4
  store %"struct.boost::tuples::null_type"* %t7, %"struct.boost::tuples::null_type"** %t7.addr, align 4
  store %"struct.boost::tuples::null_type"* %t8, %"struct.boost::tuples::null_type"** %t8.addr, align 4
  store %"struct.boost::tuples::null_type"* %t9, %"struct.boost::tuples::null_type"** %t9.addr, align 4
  store %"struct.boost::tuples::null_type"* %t10, %"struct.boost::tuples::null_type"** %t10.addr, align 4
  %this1 = load %"struct.boost::tuples::cons.28"** %this.addr
  %0 = getelementptr inbounds %"struct.boost::tuples::cons.28"* %this1, i32 0, i32 0
  %1 = load %"class.boost::range_detail::integer_iterator"** %t1.addr, align 4
  store %"class.boost::range_detail::integer_iterator"* %1, %"class.boost::range_detail::integer_iterator"** %0, align 4
  %tail = getelementptr inbounds %"struct.boost::tuples::cons.28"* %this1, i32 0, i32 1
  %2 = load %"class.boost::range_detail::integer_iterator"** %t2.addr, align 4
  %3 = load %"struct.boost::tuples::null_type"** %t3.addr, align 4
  %4 = load %"struct.boost::tuples::null_type"** %t4.addr, align 4
  %5 = load %"struct.boost::tuples::null_type"** %t5.addr, align 4
  %6 = load %"struct.boost::tuples::null_type"** %t6.addr, align 4
  %7 = load %"struct.boost::tuples::null_type"** %t7.addr, align 4
  %8 = load %"struct.boost::tuples::null_type"** %t8.addr, align 4
  %9 = load %"struct.boost::tuples::null_type"** %t9.addr, align 4
  %10 = load %"struct.boost::tuples::null_type"** %t10.addr, align 4
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp)
  call void @_ZN5boost6tuples4consIRNS_12range_detail16integer_iteratorIjEENS0_9null_typeEEC1IS4_EERT_RKS6_SC_SC_SC_SC_SC_SC_SC_SC_(%"struct.boost::tuples::cons.29"* %tail, %"class.boost::range_detail::integer_iterator"* %2, %"struct.boost::tuples::null_type"* %3, %"struct.boost::tuples::null_type"* %4, %"struct.boost::tuples::null_type"* %5, %"struct.boost::tuples::null_type"* %6, %"struct.boost::tuples::null_type"* %7, %"struct.boost::tuples::null_type"* %8, %"struct.boost::tuples::null_type"* %9, %"struct.boost::tuples::null_type"* %10, %"struct.boost::tuples::null_type"* %ref.tmp)
  ret void
}

define linkonce_odr void @_ZN5boost6tuples4consIRNS_12range_detail16integer_iteratorIjEENS0_9null_typeEEC1IS4_EERT_RKS6_SC_SC_SC_SC_SC_SC_SC_SC_(%"struct.boost::tuples::cons.29"* %this, %"class.boost::range_detail::integer_iterator"* %t1, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::tuples::cons.29"*, align 4
  %t1.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  %.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr1 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr2 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr3 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr4 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr5 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr6 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr7 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr8 = alloca %"struct.boost::tuples::null_type"*, align 4
  store %"struct.boost::tuples::cons.29"* %this, %"struct.boost::tuples::cons.29"** %this.addr, align 4
  store %"class.boost::range_detail::integer_iterator"* %t1, %"class.boost::range_detail::integer_iterator"** %t1.addr, align 4
  store %"struct.boost::tuples::null_type"* %0, %"struct.boost::tuples::null_type"** %.addr, align 4
  store %"struct.boost::tuples::null_type"* %1, %"struct.boost::tuples::null_type"** %.addr1, align 4
  store %"struct.boost::tuples::null_type"* %2, %"struct.boost::tuples::null_type"** %.addr2, align 4
  store %"struct.boost::tuples::null_type"* %3, %"struct.boost::tuples::null_type"** %.addr3, align 4
  store %"struct.boost::tuples::null_type"* %4, %"struct.boost::tuples::null_type"** %.addr4, align 4
  store %"struct.boost::tuples::null_type"* %5, %"struct.boost::tuples::null_type"** %.addr5, align 4
  store %"struct.boost::tuples::null_type"* %6, %"struct.boost::tuples::null_type"** %.addr6, align 4
  store %"struct.boost::tuples::null_type"* %7, %"struct.boost::tuples::null_type"** %.addr7, align 4
  store %"struct.boost::tuples::null_type"* %8, %"struct.boost::tuples::null_type"** %.addr8, align 4
  %this9 = load %"struct.boost::tuples::cons.29"** %this.addr
  %9 = load %"class.boost::range_detail::integer_iterator"** %t1.addr
  %10 = load %"struct.boost::tuples::null_type"** %.addr
  %11 = load %"struct.boost::tuples::null_type"** %.addr1
  %12 = load %"struct.boost::tuples::null_type"** %.addr2
  %13 = load %"struct.boost::tuples::null_type"** %.addr3
  %14 = load %"struct.boost::tuples::null_type"** %.addr4
  %15 = load %"struct.boost::tuples::null_type"** %.addr5
  %16 = load %"struct.boost::tuples::null_type"** %.addr6
  %17 = load %"struct.boost::tuples::null_type"** %.addr7
  %18 = load %"struct.boost::tuples::null_type"** %.addr8
  call void @_ZN5boost6tuples4consIRNS_12range_detail16integer_iteratorIjEENS0_9null_typeEEC2IS4_EERT_RKS6_SC_SC_SC_SC_SC_SC_SC_SC_(%"struct.boost::tuples::cons.29"* %this9, %"class.boost::range_detail::integer_iterator"* %9, %"struct.boost::tuples::null_type"* %10, %"struct.boost::tuples::null_type"* %11, %"struct.boost::tuples::null_type"* %12, %"struct.boost::tuples::null_type"* %13, %"struct.boost::tuples::null_type"* %14, %"struct.boost::tuples::null_type"* %15, %"struct.boost::tuples::null_type"* %16, %"struct.boost::tuples::null_type"* %17, %"struct.boost::tuples::null_type"* %18)
  ret void
}

define linkonce_odr void @_ZN5boost6tuples4consIRNS_12range_detail16integer_iteratorIjEENS0_9null_typeEEC2IS4_EERT_RKS6_SC_SC_SC_SC_SC_SC_SC_SC_(%"struct.boost::tuples::cons.29"* %this, %"class.boost::range_detail::integer_iterator"* %t1, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::tuples::cons.29"*, align 4
  %t1.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  %.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr1 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr2 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr3 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr4 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr5 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr6 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr7 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr8 = alloca %"struct.boost::tuples::null_type"*, align 4
  store %"struct.boost::tuples::cons.29"* %this, %"struct.boost::tuples::cons.29"** %this.addr, align 4
  store %"class.boost::range_detail::integer_iterator"* %t1, %"class.boost::range_detail::integer_iterator"** %t1.addr, align 4
  store %"struct.boost::tuples::null_type"* %0, %"struct.boost::tuples::null_type"** %.addr, align 4
  store %"struct.boost::tuples::null_type"* %1, %"struct.boost::tuples::null_type"** %.addr1, align 4
  store %"struct.boost::tuples::null_type"* %2, %"struct.boost::tuples::null_type"** %.addr2, align 4
  store %"struct.boost::tuples::null_type"* %3, %"struct.boost::tuples::null_type"** %.addr3, align 4
  store %"struct.boost::tuples::null_type"* %4, %"struct.boost::tuples::null_type"** %.addr4, align 4
  store %"struct.boost::tuples::null_type"* %5, %"struct.boost::tuples::null_type"** %.addr5, align 4
  store %"struct.boost::tuples::null_type"* %6, %"struct.boost::tuples::null_type"** %.addr6, align 4
  store %"struct.boost::tuples::null_type"* %7, %"struct.boost::tuples::null_type"** %.addr7, align 4
  store %"struct.boost::tuples::null_type"* %8, %"struct.boost::tuples::null_type"** %.addr8, align 4
  %this9 = load %"struct.boost::tuples::cons.29"** %this.addr
  %9 = getelementptr inbounds %"struct.boost::tuples::cons.29"* %this9, i32 0, i32 0
  %10 = load %"class.boost::range_detail::integer_iterator"** %t1.addr, align 4
  store %"class.boost::range_detail::integer_iterator"* %10, %"class.boost::range_detail::integer_iterator"** %9, align 4
  ret void
}

define linkonce_odr void @_ZN5boost12range_detail16integer_iteratorIjEC2Ev(%"class.boost::range_detail::integer_iterator"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  store %"class.boost::range_detail::integer_iterator"* %this, %"class.boost::range_detail::integer_iterator"** %this.addr, align 4
  %this1 = load %"class.boost::range_detail::integer_iterator"** %this.addr
  %0 = bitcast %"class.boost::range_detail::integer_iterator"* %this1 to %"class.boost::iterator_facade.26"*
  %m_value = getelementptr inbounds %"class.boost::range_detail::integer_iterator"* %this1, i32 0, i32 0
  store i32 0, i32* %m_value, align 4
  ret void
}

define linkonce_odr void @_ZN5boost13disjoint_setsINS_21iterator_property_mapIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjRjEESD_NS_31find_with_full_path_compressionEEC2ESD_SD_(%"class.boost::disjoint_sets"* %this, %"class.boost::iterator_property_map"* byval align 4 %r, %"class.boost::iterator_property_map"* byval align 4 %p) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::disjoint_sets"*, align 4
  store %"class.boost::disjoint_sets"* %this, %"class.boost::disjoint_sets"** %this.addr, align 4
  %this1 = load %"class.boost::disjoint_sets"** %this.addr
  %rank = getelementptr inbounds %"class.boost::disjoint_sets"* %this1, i32 0, i32 0
  %0 = bitcast %"class.boost::iterator_property_map"* %rank to i8*
  %1 = bitcast %"class.boost::iterator_property_map"* %r to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 8, i32 4, i1 false)
  %parent = getelementptr inbounds %"class.boost::disjoint_sets"* %this1, i32 0, i32 1
  %2 = bitcast %"class.boost::iterator_property_map"* %parent to i8*
  %3 = bitcast %"class.boost::iterator_property_map"* %p to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %2, i8* %3, i32 8, i32 4, i1 false)
  %rep = getelementptr inbounds %"class.boost::disjoint_sets"* %this1, i32 0, i32 2
  ret void
}

define linkonce_odr void @_ZNSaIjEC2Ev(%"class.std::allocator.18"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator.18"*, align 4
  store %"class.std::allocator.18"* %this, %"class.std::allocator.18"** %this.addr, align 4
  %this1 = load %"class.std::allocator.18"** %this.addr
  %0 = bitcast %"class.std::allocator.18"* %this1 to %"class.__gnu_cxx::new_allocator.19"*
  call void @_ZN9__gnu_cxx13new_allocatorIjEC2Ev(%"class.__gnu_cxx::new_allocator.19"* %0) nounwind
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIjEC2Ev(%"class.__gnu_cxx::new_allocator.19"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.19"*, align 4
  store %"class.__gnu_cxx::new_allocator.19"* %this, %"class.__gnu_cxx::new_allocator.19"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.19"** %this.addr
  ret void
}

define linkonce_odr void @_ZNSt6vectorIjSaIjEEC2EjRKjRKS0_(%"class.std::vector.16"* %this, i32 %__n, i32* %__value, %"class.std::allocator.18"* %__a) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::vector.16"*, align 4
  %__n.addr = alloca i32, align 4
  %__value.addr = alloca i32*, align 4
  %__a.addr = alloca %"class.std::allocator.18"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.std::vector.16"* %this, %"class.std::vector.16"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store i32* %__value, i32** %__value.addr, align 4
  store %"class.std::allocator.18"* %__a, %"class.std::allocator.18"** %__a.addr, align 4
  %this1 = load %"class.std::vector.16"** %this.addr
  %0 = bitcast %"class.std::vector.16"* %this1 to %"struct.std::_Vector_base.17"*
  %1 = load i32* %__n.addr, align 4
  %2 = load %"class.std::allocator.18"** %__a.addr, align 4
  call void @_ZNSt12_Vector_baseIjSaIjEEC2EjRKS0_(%"struct.std::_Vector_base.17"* %0, i32 %1, %"class.std::allocator.18"* %2)
  %3 = load i32* %__n.addr, align 4
  %4 = load i32** %__value.addr, align 4
  invoke void @_ZNSt6vectorIjSaIjEE18_M_fill_initializeEjRKj(%"class.std::vector.16"* %this1, i32 %3, i32* %4)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  ret void

lpad:                                             ; preds = %entry
  %5 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %6 = extractvalue { i8*, i32 } %5, 0
  store i8* %6, i8** %exn.slot
  %7 = extractvalue { i8*, i32 } %5, 1
  store i32 %7, i32* %ehselector.slot
  %8 = bitcast %"class.std::vector.16"* %this1 to %"struct.std::_Vector_base.17"*
  invoke void @_ZNSt12_Vector_baseIjSaIjEED2Ev(%"struct.std::_Vector_base.17"* %8)
          to label %invoke.cont2 unwind label %terminate.lpad

invoke.cont2:                                     ; preds = %lpad
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont2
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val3 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val3

terminate.lpad:                                   ; preds = %lpad
  %9 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZNSt12_Vector_baseIjSaIjEEC2EjRKS0_(%"struct.std::_Vector_base.17"* %this, i32 %__n, %"class.std::allocator.18"* %__a) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base.17"*, align 4
  %__n.addr = alloca i32, align 4
  %__a.addr = alloca %"class.std::allocator.18"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"struct.std::_Vector_base.17"* %this, %"struct.std::_Vector_base.17"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store %"class.std::allocator.18"* %__a, %"class.std::allocator.18"** %__a.addr, align 4
  %this1 = load %"struct.std::_Vector_base.17"** %this.addr
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.17"* %this1, i32 0, i32 0
  %0 = load %"class.std::allocator.18"** %__a.addr, align 4
  call void @_ZNSt12_Vector_baseIjSaIjEE12_Vector_implC1ERKS0_(%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl, %"class.std::allocator.18"* %0)
  %1 = load i32* %__n.addr, align 4
  %call = invoke i32* @_ZNSt12_Vector_baseIjSaIjEE11_M_allocateEj(%"struct.std::_Vector_base.17"* %this1, i32 %1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base.17"* %this1, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl2, i32 0, i32 0
  store i32* %call, i32** %_M_start, align 4
  %_M_impl3 = getelementptr inbounds %"struct.std::_Vector_base.17"* %this1, i32 0, i32 0
  %_M_start4 = getelementptr inbounds %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl3, i32 0, i32 0
  %2 = load i32** %_M_start4, align 4
  %_M_impl5 = getelementptr inbounds %"struct.std::_Vector_base.17"* %this1, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl5, i32 0, i32 1
  store i32* %2, i32** %_M_finish, align 4
  %_M_impl6 = getelementptr inbounds %"struct.std::_Vector_base.17"* %this1, i32 0, i32 0
  %_M_start7 = getelementptr inbounds %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl6, i32 0, i32 0
  %3 = load i32** %_M_start7, align 4
  %4 = load i32* %__n.addr, align 4
  %add.ptr = getelementptr inbounds i32* %3, i32 %4
  %_M_impl8 = getelementptr inbounds %"struct.std::_Vector_base.17"* %this1, i32 0, i32 0
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl8, i32 0, i32 2
  store i32* %add.ptr, i32** %_M_end_of_storage, align 4
  ret void

lpad:                                             ; preds = %entry
  %5 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %6 = extractvalue { i8*, i32 } %5, 0
  store i8* %6, i8** %exn.slot
  %7 = extractvalue { i8*, i32 } %5, 1
  store i32 %7, i32* %ehselector.slot
  call void @_ZNSt12_Vector_baseIjSaIjEE12_Vector_implD1Ev(%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val9 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val9
}

define linkonce_odr void @_ZNSt6vectorIjSaIjEE18_M_fill_initializeEjRKj(%"class.std::vector.16"* %this, i32 %__n, i32* %__value) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.16"*, align 4
  %__n.addr = alloca i32, align 4
  %__value.addr = alloca i32*, align 4
  store %"class.std::vector.16"* %this, %"class.std::vector.16"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store i32* %__value, i32** %__value.addr, align 4
  %this1 = load %"class.std::vector.16"** %this.addr
  %0 = bitcast %"class.std::vector.16"* %this1 to %"struct.std::_Vector_base.17"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.17"* %0, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl, i32 0, i32 0
  %1 = load i32** %_M_start, align 4
  %2 = load i32* %__n.addr, align 4
  %3 = load i32** %__value.addr, align 4
  %4 = bitcast %"class.std::vector.16"* %this1 to %"struct.std::_Vector_base.17"*
  %call = call %"class.std::allocator.18"* @_ZNSt12_Vector_baseIjSaIjEE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.17"* %4)
  call void @_ZSt24__uninitialized_fill_n_aIPjjjjEvT_T0_RKT1_RSaIT2_E(i32* %1, i32 %2, i32* %3, %"class.std::allocator.18"* %call)
  %5 = bitcast %"class.std::vector.16"* %this1 to %"struct.std::_Vector_base.17"*
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base.17"* %5, i32 0, i32 0
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl2, i32 0, i32 2
  %6 = load i32** %_M_end_of_storage, align 4
  %7 = bitcast %"class.std::vector.16"* %this1 to %"struct.std::_Vector_base.17"*
  %_M_impl3 = getelementptr inbounds %"struct.std::_Vector_base.17"* %7, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl3, i32 0, i32 1
  store i32* %6, i32** %_M_finish, align 4
  ret void
}

define linkonce_odr void @_ZSt24__uninitialized_fill_n_aIPjjjjEvT_T0_RKT1_RSaIT2_E(i32* %__first, i32 %__n, i32* %__x, %"class.std::allocator.18"*) inlinehint {
entry:
  %__first.addr = alloca i32*, align 4
  %__n.addr = alloca i32, align 4
  %__x.addr = alloca i32*, align 4
  %.addr = alloca %"class.std::allocator.18"*, align 4
  store i32* %__first, i32** %__first.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store i32* %__x, i32** %__x.addr, align 4
  store %"class.std::allocator.18"* %0, %"class.std::allocator.18"** %.addr, align 4
  %1 = load i32** %__first.addr, align 4
  %2 = load i32* %__n.addr, align 4
  %3 = load i32** %__x.addr, align 4
  call void @_ZSt20uninitialized_fill_nIPjjjEvT_T0_RKT1_(i32* %1, i32 %2, i32* %3)
  ret void
}

define linkonce_odr void @_ZSt20uninitialized_fill_nIPjjjEvT_T0_RKT1_(i32* %__first, i32 %__n, i32* %__x) inlinehint {
entry:
  %__first.addr = alloca i32*, align 4
  %__n.addr = alloca i32, align 4
  %__x.addr = alloca i32*, align 4
  store i32* %__first, i32** %__first.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store i32* %__x, i32** %__x.addr, align 4
  %0 = load i32** %__first.addr, align 4
  %1 = load i32* %__n.addr, align 4
  %2 = load i32** %__x.addr, align 4
  call void @_ZNSt22__uninitialized_fill_nILb1EE15__uninit_fill_nIPjjjEEvT_T0_RKT1_(i32* %0, i32 %1, i32* %2)
  ret void
}

define linkonce_odr void @_ZNSt22__uninitialized_fill_nILb1EE15__uninit_fill_nIPjjjEEvT_T0_RKT1_(i32* %__first, i32 %__n, i32* %__x) align 2 {
entry:
  %__first.addr = alloca i32*, align 4
  %__n.addr = alloca i32, align 4
  %__x.addr = alloca i32*, align 4
  store i32* %__first, i32** %__first.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store i32* %__x, i32** %__x.addr, align 4
  %0 = load i32** %__first.addr, align 4
  %1 = load i32* %__n.addr, align 4
  %2 = load i32** %__x.addr, align 4
  %call = call i32* @_ZSt6fill_nIPjjjET_S1_T0_RKT1_(i32* %0, i32 %1, i32* %2)
  ret void
}

define linkonce_odr i32* @_ZSt6fill_nIPjjjET_S1_T0_RKT1_(i32* %__first, i32 %__n, i32* %__value) inlinehint {
entry:
  %__first.addr = alloca i32*, align 4
  %__n.addr = alloca i32, align 4
  %__value.addr = alloca i32*, align 4
  store i32* %__first, i32** %__first.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store i32* %__value, i32** %__value.addr, align 4
  %0 = load i32** %__first.addr, align 4
  %call = call i32* @_ZSt12__niter_baseIPjENSt11_Niter_baseIT_E13iterator_typeES2_(i32* %0)
  %1 = load i32* %__n.addr, align 4
  %2 = load i32** %__value.addr, align 4
  %call1 = call i32* @_ZSt10__fill_n_aIPjjjEN9__gnu_cxx11__enable_ifIXsr11__is_scalarIT1_EE7__valueET_E6__typeES4_T0_RKS3_(i32* %call, i32 %1, i32* %2)
  ret i32* %call1
}

define linkonce_odr i32* @_ZSt10__fill_n_aIPjjjEN9__gnu_cxx11__enable_ifIXsr11__is_scalarIT1_EE7__valueET_E6__typeES4_T0_RKS3_(i32* %__first, i32 %__n, i32* %__value) nounwind inlinehint {
entry:
  %__first.addr = alloca i32*, align 4
  %__n.addr = alloca i32, align 4
  %__value.addr = alloca i32*, align 4
  %__tmp = alloca i32, align 4
  %__niter = alloca i32, align 4
  store i32* %__first, i32** %__first.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store i32* %__value, i32** %__value.addr, align 4
  %0 = load i32** %__value.addr, align 4
  %1 = load i32* %0, align 4
  store i32 %1, i32* %__tmp, align 4
  %2 = load i32* %__n.addr, align 4
  store i32 %2, i32* %__niter, align 4
  br label %for.cond

for.cond:                                         ; preds = %for.inc, %entry
  %3 = load i32* %__niter, align 4
  %cmp = icmp ugt i32 %3, 0
  br i1 %cmp, label %for.body, label %for.end

for.body:                                         ; preds = %for.cond
  %4 = load i32* %__tmp, align 4
  %5 = load i32** %__first.addr, align 4
  store i32 %4, i32* %5, align 4
  br label %for.inc

for.inc:                                          ; preds = %for.body
  %6 = load i32* %__niter, align 4
  %dec = add i32 %6, -1
  store i32 %dec, i32* %__niter, align 4
  %7 = load i32** %__first.addr, align 4
  %incdec.ptr = getelementptr inbounds i32* %7, i32 1
  store i32* %incdec.ptr, i32** %__first.addr, align 4
  br label %for.cond

for.end:                                          ; preds = %for.cond
  %8 = load i32** %__first.addr, align 4
  ret i32* %8
}

define linkonce_odr i32* @_ZSt12__niter_baseIPjENSt11_Niter_baseIT_E13iterator_typeES2_(i32* %__it) inlinehint {
entry:
  %__it.addr = alloca i32*, align 4
  store i32* %__it, i32** %__it.addr, align 4
  %0 = load i32** %__it.addr, align 4
  %call = call i32* @_ZNSt10_Iter_baseIPjLb0EE7_S_baseES0_(i32* %0)
  ret i32* %call
}

define linkonce_odr i32* @_ZNSt10_Iter_baseIPjLb0EE7_S_baseES0_(i32* %__it) nounwind align 2 {
entry:
  %__it.addr = alloca i32*, align 4
  store i32* %__it, i32** %__it.addr, align 4
  %0 = load i32** %__it.addr, align 4
  ret i32* %0
}

define linkonce_odr void @_ZNSt12_Vector_baseIjSaIjEE12_Vector_implC1ERKS0_(%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %this, %"class.std::allocator.18"* %__a) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"*, align 4
  %__a.addr = alloca %"class.std::allocator.18"*, align 4
  store %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %this, %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"** %this.addr, align 4
  store %"class.std::allocator.18"* %__a, %"class.std::allocator.18"** %__a.addr, align 4
  %this1 = load %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"** %this.addr
  %0 = load %"class.std::allocator.18"** %__a.addr
  call void @_ZNSt12_Vector_baseIjSaIjEE12_Vector_implC2ERKS0_(%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %this1, %"class.std::allocator.18"* %0)
  ret void
}

define linkonce_odr i32* @_ZNSt12_Vector_baseIjSaIjEE11_M_allocateEj(%"struct.std::_Vector_base.17"* %this, i32 %__n) align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base.17"*, align 4
  %__n.addr = alloca i32, align 4
  store %"struct.std::_Vector_base.17"* %this, %"struct.std::_Vector_base.17"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  %this1 = load %"struct.std::_Vector_base.17"** %this.addr
  %0 = load i32* %__n.addr, align 4
  %cmp = icmp ne i32 %0, 0
  br i1 %cmp, label %cond.true, label %cond.false

cond.true:                                        ; preds = %entry
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.17"* %this1, i32 0, i32 0
  %1 = bitcast %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl to %"class.__gnu_cxx::new_allocator.19"*
  %2 = load i32* %__n.addr, align 4
  %call = call i32* @_ZN9__gnu_cxx13new_allocatorIjE8allocateEjPKv(%"class.__gnu_cxx::new_allocator.19"* %1, i32 %2, i8* null)
  br label %cond.end

cond.false:                                       ; preds = %entry
  br label %cond.end

cond.end:                                         ; preds = %cond.false, %cond.true
  %cond = phi i32* [ %call, %cond.true ], [ null, %cond.false ]
  ret i32* %cond
}

define linkonce_odr i32* @_ZN9__gnu_cxx13new_allocatorIjE8allocateEjPKv(%"class.__gnu_cxx::new_allocator.19"* %this, i32 %__n, i8*) align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.19"*, align 4
  %__n.addr = alloca i32, align 4
  %.addr = alloca i8*, align 4
  store %"class.__gnu_cxx::new_allocator.19"* %this, %"class.__gnu_cxx::new_allocator.19"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store i8* %0, i8** %.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.19"** %this.addr
  %1 = load i32* %__n.addr, align 4
  %call = call i32 @_ZNK9__gnu_cxx13new_allocatorIjE8max_sizeEv(%"class.__gnu_cxx::new_allocator.19"* %this1) nounwind
  %cmp = icmp ugt i32 %1, %call
  br i1 %cmp, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  call void @_ZSt17__throw_bad_allocv() noreturn
  unreachable

if.end:                                           ; preds = %entry
  %2 = load i32* %__n.addr, align 4
  %mul = mul i32 %2, 4
  %call2 = call noalias i8* @_Znwj(i32 %mul)
  %3 = bitcast i8* %call2 to i32*
  ret i32* %3
}

define linkonce_odr i32 @_ZNK9__gnu_cxx13new_allocatorIjE8max_sizeEv(%"class.__gnu_cxx::new_allocator.19"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.19"*, align 4
  store %"class.__gnu_cxx::new_allocator.19"* %this, %"class.__gnu_cxx::new_allocator.19"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.19"** %this.addr
  ret i32 1073741823
}

define linkonce_odr void @_ZNSt12_Vector_baseIjSaIjEE12_Vector_implC2ERKS0_(%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %this, %"class.std::allocator.18"* %__a) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"*, align 4
  %__a.addr = alloca %"class.std::allocator.18"*, align 4
  store %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %this, %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"** %this.addr, align 4
  store %"class.std::allocator.18"* %__a, %"class.std::allocator.18"** %__a.addr, align 4
  %this1 = load %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"** %this.addr
  %0 = bitcast %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %this1 to %"class.std::allocator.18"*
  %1 = load %"class.std::allocator.18"** %__a.addr, align 4
  call void @_ZNSaIjEC2ERKS_(%"class.std::allocator.18"* %0, %"class.std::allocator.18"* %1) nounwind
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %this1, i32 0, i32 0
  store i32* null, i32** %_M_start, align 4
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %this1, i32 0, i32 1
  store i32* null, i32** %_M_finish, align 4
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %this1, i32 0, i32 2
  store i32* null, i32** %_M_end_of_storage, align 4
  ret void
}

define linkonce_odr void @_ZNSaIjEC2ERKS_(%"class.std::allocator.18"* %this, %"class.std::allocator.18"* %__a) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator.18"*, align 4
  %__a.addr = alloca %"class.std::allocator.18"*, align 4
  store %"class.std::allocator.18"* %this, %"class.std::allocator.18"** %this.addr, align 4
  store %"class.std::allocator.18"* %__a, %"class.std::allocator.18"** %__a.addr, align 4
  %this1 = load %"class.std::allocator.18"** %this.addr
  %0 = bitcast %"class.std::allocator.18"* %this1 to %"class.__gnu_cxx::new_allocator.19"*
  %1 = load %"class.std::allocator.18"** %__a.addr, align 4
  %2 = bitcast %"class.std::allocator.18"* %1 to %"class.__gnu_cxx::new_allocator.19"*
  call void @_ZN9__gnu_cxx13new_allocatorIjEC2ERKS1_(%"class.__gnu_cxx::new_allocator.19"* %0, %"class.__gnu_cxx::new_allocator.19"* %2) nounwind
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIjEC2ERKS1_(%"class.__gnu_cxx::new_allocator.19"* %this, %"class.__gnu_cxx::new_allocator.19"*) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.19"*, align 4
  %.addr = alloca %"class.__gnu_cxx::new_allocator.19"*, align 4
  store %"class.__gnu_cxx::new_allocator.19"* %this, %"class.__gnu_cxx::new_allocator.19"** %this.addr, align 4
  store %"class.__gnu_cxx::new_allocator.19"* %0, %"class.__gnu_cxx::new_allocator.19"** %.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.19"** %this.addr
  ret void
}

define linkonce_odr i32 @_ZNK5boost14iterator_rangeINS_12range_detail16integer_iteratorIjEEE4sizeEv(%"class.boost::iterator_range"* %this) align 2 {
entry:
  %this.addr = alloca %"class.boost::iterator_range"*, align 4
  store %"class.boost::iterator_range"* %this, %"class.boost::iterator_range"** %this.addr, align 4
  %this1 = load %"class.boost::iterator_range"** %this.addr
  %m_End = getelementptr inbounds %"class.boost::iterator_range"* %this1, i32 0, i32 1
  %0 = bitcast %"class.boost::range_detail::integer_iterator"* %m_End to %"class.boost::iterator_facade.26"*
  %m_Begin = getelementptr inbounds %"class.boost::iterator_range"* %this1, i32 0, i32 0
  %1 = bitcast %"class.boost::range_detail::integer_iterator"* %m_Begin to %"class.boost::iterator_facade.26"*
  %call = call i32 @_ZN5boostmiINS_12range_detail16integer_iteratorIjEEjNS_27random_access_traversal_tagEjiS3_jS4_jiEENS_6detail23enable_if_interoperableIT_T4_NS_3mpl6apply2INS5_22choose_difference_typeES7_S8_E4typeEE4typeERKNS_15iterator_facadeIS7_T0_T1_T2_T3_EERKNSG_IS8_T5_T6_T7_T8_EE(%"class.boost::iterator_facade.26"* %0, %"class.boost::iterator_facade.26"* %1)
  ret i32 %call
}

define linkonce_odr i32 @_ZN5boostmiINS_12range_detail16integer_iteratorIjEEjNS_27random_access_traversal_tagEjiS3_jS4_jiEENS_6detail23enable_if_interoperableIT_T4_NS_3mpl6apply2INS5_22choose_difference_typeES7_S8_E4typeEE4typeERKNS_15iterator_facadeIS7_T0_T1_T2_T3_EERKNSG_IS8_T5_T6_T7_T8_EE(%"class.boost::iterator_facade.26"* %lhs, %"class.boost::iterator_facade.26"* %rhs) inlinehint {
entry:
  %lhs.addr = alloca %"class.boost::iterator_facade.26"*, align 4
  %rhs.addr = alloca %"class.boost::iterator_facade.26"*, align 4
  %agg.tmp = alloca %"struct.mpl_::bool_", align 1
  %ref.tmp = alloca %"struct.boost::is_convertible.32", align 1
  store %"class.boost::iterator_facade.26"* %lhs, %"class.boost::iterator_facade.26"** %lhs.addr, align 4
  store %"class.boost::iterator_facade.26"* %rhs, %"class.boost::iterator_facade.26"** %rhs.addr, align 4
  %0 = load %"class.boost::iterator_facade.26"** %lhs.addr, align 4
  %1 = bitcast %"class.boost::iterator_facade.26"* %0 to %"class.boost::range_detail::integer_iterator"*
  %2 = load %"class.boost::iterator_facade.26"** %rhs.addr, align 4
  %3 = bitcast %"class.boost::iterator_facade.26"* %2 to %"class.boost::range_detail::integer_iterator"*
  %4 = bitcast %"struct.boost::is_convertible.32"* %ref.tmp to %"struct.mpl_::bool_"*
  %call = call i32 @_ZN5boost20iterator_core_access13distance_fromINS_12range_detail16integer_iteratorIjEES4_EENT_15difference_typeERKS5_RKT0_N4mpl_5bool_ILb1EEE(%"class.boost::range_detail::integer_iterator"* %1, %"class.boost::range_detail::integer_iterator"* %3)
  ret i32 %call
}

define linkonce_odr i32 @_ZN5boost20iterator_core_access13distance_fromINS_12range_detail16integer_iteratorIjEES4_EENT_15difference_typeERKS5_RKT0_N4mpl_5bool_ILb1EEE(%"class.boost::range_detail::integer_iterator"* %f1, %"class.boost::range_detail::integer_iterator"* %f2) align 2 {
entry:
  %f1.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  %f2.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  %0 = alloca %"struct.mpl_::bool_", align 1
  store %"class.boost::range_detail::integer_iterator"* %f1, %"class.boost::range_detail::integer_iterator"** %f1.addr, align 4
  store %"class.boost::range_detail::integer_iterator"* %f2, %"class.boost::range_detail::integer_iterator"** %f2.addr, align 4
  %1 = load %"class.boost::range_detail::integer_iterator"** %f1.addr, align 4
  %2 = load %"class.boost::range_detail::integer_iterator"** %f2.addr, align 4
  %call = call i32 @_ZNK5boost12range_detail16integer_iteratorIjE11distance_toERKS2_(%"class.boost::range_detail::integer_iterator"* %1, %"class.boost::range_detail::integer_iterator"* %2)
  %sub = sub nsw i32 0, %call
  ret i32 %sub
}

define linkonce_odr i32 @_ZNK5boost12range_detail16integer_iteratorIjE11distance_toERKS2_(%"class.boost::range_detail::integer_iterator"* %this, %"class.boost::range_detail::integer_iterator"* %other) nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  %other.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  store %"class.boost::range_detail::integer_iterator"* %this, %"class.boost::range_detail::integer_iterator"** %this.addr, align 4
  store %"class.boost::range_detail::integer_iterator"* %other, %"class.boost::range_detail::integer_iterator"** %other.addr, align 4
  %this1 = load %"class.boost::range_detail::integer_iterator"** %this.addr
  %0 = load %"class.boost::range_detail::integer_iterator"** %other.addr, align 4
  %m_value = getelementptr inbounds %"class.boost::range_detail::integer_iterator"* %0, i32 0, i32 0
  %1 = load i32* %m_value, align 4
  %m_value2 = getelementptr inbounds %"class.boost::range_detail::integer_iterator"* %this1, i32 0, i32 0
  %2 = load i32* %m_value2, align 4
  %sub = sub i32 %1, %2
  ret i32 %sub
}

define linkonce_odr void @_ZNSt20back_insert_iteratorISt6vectorIN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESaIS5_EEEC1ERS7_(%"class.std::back_insert_iterator"* %this, %"class.std::vector.3"* %__x) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::back_insert_iterator"*, align 4
  %__x.addr = alloca %"class.std::vector.3"*, align 4
  store %"class.std::back_insert_iterator"* %this, %"class.std::back_insert_iterator"** %this.addr, align 4
  store %"class.std::vector.3"* %__x, %"class.std::vector.3"** %__x.addr, align 4
  %this1 = load %"class.std::back_insert_iterator"** %this.addr
  %0 = load %"class.std::vector.3"** %__x.addr
  call void @_ZNSt20back_insert_iteratorISt6vectorIN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESaIS5_EEEC2ERS7_(%"class.std::back_insert_iterator"* %this1, %"class.std::vector.3"* %0)
  ret void
}

define linkonce_odr void @_ZNSt20back_insert_iteratorISt6vectorIN5boost6detail14edge_desc_implINS1_14undirected_tagEjEESaIS5_EEEC2ERS7_(%"class.std::back_insert_iterator"* %this, %"class.std::vector.3"* %__x) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::back_insert_iterator"*, align 4
  %__x.addr = alloca %"class.std::vector.3"*, align 4
  store %"class.std::back_insert_iterator"* %this, %"class.std::back_insert_iterator"** %this.addr, align 4
  store %"class.std::vector.3"* %__x, %"class.std::vector.3"** %__x.addr, align 4
  %this1 = load %"class.std::back_insert_iterator"** %this.addr
  %0 = bitcast %"class.std::back_insert_iterator"* %this1 to %"struct.std::iterator"*
  %container = getelementptr inbounds %"class.std::back_insert_iterator"* %this1, i32 0, i32 0
  %1 = load %"class.std::vector.3"** %__x.addr, align 4
  store %"class.std::vector.3"* %1, %"class.std::vector.3"** %container, align 4
  ret void
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EED2Ev(%"class.std::vector.3"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::vector.3"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.std::vector.3"* %this, %"class.std::vector.3"** %this.addr, align 4
  %this1 = load %"class.std::vector.3"** %this.addr
  %0 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.4"* %0, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl, i32 0, i32 0
  %1 = load %"class.boost::detail::edge_desc_impl"** %_M_start, align 4
  %2 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base.4"* %2, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl2, i32 0, i32 1
  %3 = load %"class.boost::detail::edge_desc_impl"** %_M_finish, align 4
  %4 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %call = invoke %"class.std::allocator.5"* @_ZNSt12_Vector_baseIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.4"* %4)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  invoke void @_ZSt8_DestroyIPN5boost6detail14edge_desc_implINS0_14undirected_tagEjEES4_EvT_S6_RSaIT0_E(%"class.boost::detail::edge_desc_impl"* %1, %"class.boost::detail::edge_desc_impl"* %3, %"class.std::allocator.5"* %call)
          to label %invoke.cont3 unwind label %lpad

invoke.cont3:                                     ; preds = %invoke.cont
  %5 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  call void @_ZNSt12_Vector_baseIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EED2Ev(%"struct.std::_Vector_base.4"* %5)
  ret void

lpad:                                             ; preds = %invoke.cont, %entry
  %6 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %7 = extractvalue { i8*, i32 } %6, 0
  store i8* %7, i8** %exn.slot
  %8 = extractvalue { i8*, i32 } %6, 1
  store i32 %8, i32* %ehselector.slot
  %9 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  invoke void @_ZNSt12_Vector_baseIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EED2Ev(%"struct.std::_Vector_base.4"* %9)
          to label %invoke.cont4 unwind label %terminate.lpad

invoke.cont4:                                     ; preds = %lpad
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont4
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val5 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val5

terminate.lpad:                                   ; preds = %lpad
  %10 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EEC2Ev(%"class.std::vector.3"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::vector.3"*, align 4
  store %"class.std::vector.3"* %this, %"class.std::vector.3"** %this.addr, align 4
  %this1 = load %"class.std::vector.3"** %this.addr
  %0 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  call void @_ZNSt12_Vector_baseIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EEC2Ev(%"struct.std::_Vector_base.4"* %0)
  ret void
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EEC2Ev(%"struct.std::_Vector_base.4"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base.4"*, align 4
  store %"struct.std::_Vector_base.4"* %this, %"struct.std::_Vector_base.4"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base.4"** %this.addr
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.4"* %this1, i32 0, i32 0
  call void @_ZNSt12_Vector_baseIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE12_Vector_implC1Ev(%"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %_M_impl)
  ret void
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE12_Vector_implC1Ev(%"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"*, align 4
  store %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %this, %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"** %this.addr
  call void @_ZNSt12_Vector_baseIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE12_Vector_implC2Ev(%"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %this1)
  ret void
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEESaIS4_EE12_Vector_implC2Ev(%"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"*, align 4
  store %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %this, %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"** %this.addr
  %0 = bitcast %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %this1 to %"class.std::allocator.5"*
  call void @_ZNSaIN5boost6detail14edge_desc_implINS_14undirected_tagEjEEEC2Ev(%"class.std::allocator.5"* %0) nounwind
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %this1, i32 0, i32 0
  store %"class.boost::detail::edge_desc_impl"* null, %"class.boost::detail::edge_desc_impl"** %_M_start, align 4
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %this1, i32 0, i32 1
  store %"class.boost::detail::edge_desc_impl"* null, %"class.boost::detail::edge_desc_impl"** %_M_finish, align 4
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int>, std::allocator<boost::detail::edge_desc_impl<boost::undirected_tag, unsigned int> > >::_Vector_impl"* %this1, i32 0, i32 2
  store %"class.boost::detail::edge_desc_impl"* null, %"class.boost::detail::edge_desc_impl"** %_M_end_of_storage, align 4
  ret void
}

define linkonce_odr void @_ZNSaIN5boost6detail14edge_desc_implINS_14undirected_tagEjEEEC2Ev(%"class.std::allocator.5"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator.5"*, align 4
  store %"class.std::allocator.5"* %this, %"class.std::allocator.5"** %this.addr, align 4
  %this1 = load %"class.std::allocator.5"** %this.addr
  %0 = bitcast %"class.std::allocator.5"* %this1 to %"class.__gnu_cxx::new_allocator.6"*
  call void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail14edge_desc_implINS1_14undirected_tagEjEEEC2Ev(%"class.__gnu_cxx::new_allocator.6"* %0) nounwind
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail14edge_desc_implINS1_14undirected_tagEjEEEC2Ev(%"class.__gnu_cxx::new_allocator.6"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.6"*, align 4
  store %"class.__gnu_cxx::new_allocator.6"* %this, %"class.__gnu_cxx::new_allocator.6"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.6"** %this.addr
  ret void
}

define linkonce_odr void @_ZN5boost6detail12get_dispatchINS0_12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS6_EES6_NS_5listSEEES4_S4_S5_S6_S9_S6_SA_E6configENS_23undirected_graph_helperISD_EES8_EENS_12property_mapINT_10graph_typeET1_E4typeERNS_15adj_list_helperISH_T0_EESJ_NS_17edge_property_tagE(%"struct.boost::adj_list_edge_property_map"* noalias sret %agg.result, %"struct.boost::adj_list_helper"*, i32 %p) inlinehint {
entry:
  %.addr = alloca %"struct.boost::adj_list_helper"*, align 4
  %p.addr = alloca i32, align 4
  %1 = alloca %"struct.boost::edge_property_tag", align 1
  store %"struct.boost::adj_list_helper"* %0, %"struct.boost::adj_list_helper"** %.addr, align 4
  store i32 %p, i32* %p.addr, align 4
  %2 = load i32* %p.addr, align 4
  call void @_ZN5boost26adj_list_edge_property_mapINS_14undirected_tagEiRijNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEES4_EC1ES4_(%"struct.boost::adj_list_edge_property_map"* %agg.result, i32 %2)
  ret void
}

define linkonce_odr void @_ZN5boost26adj_list_edge_property_mapINS_14undirected_tagEiRijNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEES4_EC1ES4_(%"struct.boost::adj_list_edge_property_map"* %this, i32 %tag) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::adj_list_edge_property_map"*, align 4
  %tag.addr = alloca i32, align 4
  store %"struct.boost::adj_list_edge_property_map"* %this, %"struct.boost::adj_list_edge_property_map"** %this.addr, align 4
  store i32 %tag, i32* %tag.addr, align 4
  %this1 = load %"struct.boost::adj_list_edge_property_map"** %this.addr
  %0 = load i32* %tag.addr, align 4
  call void @_ZN5boost26adj_list_edge_property_mapINS_14undirected_tagEiRijNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEES4_EC2ES4_(%"struct.boost::adj_list_edge_property_map"* %this1, i32 %0)
  ret void
}

define linkonce_odr void @_ZN5boost26adj_list_edge_property_mapINS_14undirected_tagEiRijNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEES4_EC2ES4_(%"struct.boost::adj_list_edge_property_map"* %this, i32 %tag) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::adj_list_edge_property_map"*, align 4
  %tag.addr = alloca i32, align 4
  store %"struct.boost::adj_list_edge_property_map"* %this, %"struct.boost::adj_list_edge_property_map"** %this.addr, align 4
  store i32 %tag, i32* %tag.addr, align 4
  %this1 = load %"struct.boost::adj_list_edge_property_map"** %this.addr
  %0 = bitcast %"struct.boost::adj_list_edge_property_map"* %this1 to %"struct.boost::put_get_helper"*
  %tag2 = getelementptr inbounds %"struct.boost::adj_list_edge_property_map"* %this1, i32 0, i32 0
  %1 = load i32* %tag.addr, align 4
  store i32 %1, i32* %tag2, align 4
  ret void
}

define linkonce_odr void @_ZN5boost14adjacency_listINS_4vecSES1_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS3_EES3_NS_5listSEEC2IPSt4pairIiiEPiEET_SE_T0_jjRKS3_(%"class.boost::adjacency_list"* %this, %"struct.std::pair"* %first, %"struct.std::pair"* %last, i32* %ep_iter, i32 %n, i32, %"struct.boost::no_property"* %p) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::adjacency_list"*, align 4
  %first.addr = alloca %"struct.std::pair"*, align 4
  %last.addr = alloca %"struct.std::pair"*, align 4
  %ep_iter.addr = alloca i32*, align 4
  %n.addr = alloca i32, align 4
  %.addr = alloca i32, align 4
  %p.addr = alloca %"struct.boost::no_property"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.boost::adjacency_list"* %this, %"class.boost::adjacency_list"** %this.addr, align 4
  store %"struct.std::pair"* %first, %"struct.std::pair"** %first.addr, align 4
  store %"struct.std::pair"* %last, %"struct.std::pair"** %last.addr, align 4
  store i32* %ep_iter, i32** %ep_iter.addr, align 4
  store i32 %n, i32* %n.addr, align 4
  store i32 %0, i32* %.addr, align 4
  store %"struct.boost::no_property"* %p, %"struct.boost::no_property"** %p.addr, align 4
  %this1 = load %"class.boost::adjacency_list"** %this.addr
  %1 = bitcast %"class.boost::adjacency_list"* %this1 to %"class.boost::vec_adj_list_impl"*
  %2 = load i32* %n.addr, align 4
  %3 = load %"struct.std::pair"** %first.addr, align 4
  %4 = load %"struct.std::pair"** %last.addr, align 4
  %5 = load i32** %ep_iter.addr, align 4
  call void @_ZN5boost17vec_adj_list_implINS_14adjacency_listINS_4vecSES2_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS4_EES4_NS_5listSEEENS_6detail12adj_list_genIS9_S2_S2_S3_S4_S7_S4_S8_E6configENS_23undirected_graph_helperISD_EEEC2IPSt4pairIiiEPiEEjT_SM_T0_(%"class.boost::vec_adj_list_impl"* %1, i32 %2, %"struct.std::pair"* %3, %"struct.std::pair"* %4, i32* %5)
  %6 = bitcast %"class.boost::adjacency_list"* %this1 to %"struct.boost::graph::maybe_named_graph"*
  %m_property = getelementptr inbounds %"class.boost::adjacency_list"* %this1, i32 0, i32 1
  %call = invoke noalias i8* @_Znwj(i32 1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %7 = bitcast i8* %call to %"struct.boost::no_property"*
  %8 = load %"struct.boost::no_property"** %p.addr, align 4
  invoke void @_ZN5boost10scoped_ptrINS_11no_propertyEEC1EPS1_(%"class.boost::scoped_ptr"* %m_property, %"struct.boost::no_property"* %7)
          to label %invoke.cont2 unwind label %lpad

invoke.cont2:                                     ; preds = %invoke.cont
  ret void

lpad:                                             ; preds = %invoke.cont, %entry
  %9 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %10 = extractvalue { i8*, i32 } %9, 0
  store i8* %10, i8** %exn.slot
  %11 = extractvalue { i8*, i32 } %9, 1
  store i32 %11, i32* %ehselector.slot
  %12 = bitcast %"class.boost::adjacency_list"* %this1 to %"class.boost::vec_adj_list_impl"*
  invoke void @_ZN5boost17vec_adj_list_implINS_14adjacency_listINS_4vecSES2_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS4_EES4_NS_5listSEEENS_6detail12adj_list_genIS9_S2_S2_S3_S4_S7_S4_S8_E6configENS_23undirected_graph_helperISD_EEED2Ev(%"class.boost::vec_adj_list_impl"* %12)
          to label %invoke.cont3 unwind label %terminate.lpad

invoke.cont3:                                     ; preds = %lpad
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont3
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val4 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val4

terminate.lpad:                                   ; preds = %lpad
  %13 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZN5boost17vec_adj_list_implINS_14adjacency_listINS_4vecSES2_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS4_EES4_NS_5listSEEENS_6detail12adj_list_genIS9_S2_S2_S3_S4_S7_S4_S8_E6configENS_23undirected_graph_helperISD_EEEC2IPSt4pairIiiEPiEEjT_SM_T0_(%"class.boost::vec_adj_list_impl"* %this, i32 %num_vertices, %"struct.std::pair"* %first, %"struct.std::pair"* %last, i32* %ep_iter) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::vec_adj_list_impl"*, align 4
  %num_vertices.addr = alloca i32, align 4
  %first.addr = alloca %"struct.std::pair"*, align 4
  %last.addr = alloca %"struct.std::pair"*, align 4
  %ep_iter.addr = alloca i32*, align 4
  %ref.tmp = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %ref.tmp2 = alloca %"class.std::allocator.0", align 1
  %ref.tmp8 = alloca %"struct.boost::property", align 4
  %tmp = alloca %"struct.std::pair.36", align 4
  store %"class.boost::vec_adj_list_impl"* %this, %"class.boost::vec_adj_list_impl"** %this.addr, align 4
  store i32 %num_vertices, i32* %num_vertices.addr, align 4
  store %"struct.std::pair"* %first, %"struct.std::pair"** %first.addr, align 4
  store %"struct.std::pair"* %last, %"struct.std::pair"** %last.addr, align 4
  store i32* %ep_iter, i32** %ep_iter.addr, align 4
  %this1 = load %"class.boost::vec_adj_list_impl"** %this.addr
  %0 = bitcast %"class.boost::vec_adj_list_impl"* %this1 to %"struct.boost::adj_list_helper"*
  %m_edges = getelementptr inbounds %"class.boost::vec_adj_list_impl"* %this1, i32 0, i32 0
  call void @_ZNSt4listIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EEC1Ev(%"class.std::list"* %m_edges)
  %m_vertices = getelementptr inbounds %"class.boost::vec_adj_list_impl"* %this1, i32 0, i32 1
  %1 = load i32* %num_vertices.addr, align 4
  invoke void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config13stored_vertexC1Ev(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %ref.tmp)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  call void @_ZNSaIN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config13stored_vertexEEC1Ev(%"class.std::allocator.0"* %ref.tmp2) nounwind
  invoke void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EEC1EjRKSE_RKSF_(%"class.std::vector"* %m_vertices, i32 %1, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %ref.tmp, %"class.std::allocator.0"* %ref.tmp2)
          to label %invoke.cont4 unwind label %lpad3

invoke.cont4:                                     ; preds = %invoke.cont
  call void @_ZNSaIN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config13stored_vertexEED1Ev(%"class.std::allocator.0"* %ref.tmp2) nounwind
  invoke void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config13stored_vertexD1Ev(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %ref.tmp)
          to label %invoke.cont5 unwind label %lpad

invoke.cont5:                                     ; preds = %invoke.cont4
  br label %while.cond

while.cond:                                       ; preds = %invoke.cont11, %invoke.cont5
  %2 = load %"struct.std::pair"** %first.addr, align 4
  %3 = load %"struct.std::pair"** %last.addr, align 4
  %cmp = icmp ne %"struct.std::pair"* %2, %3
  br i1 %cmp, label %while.body, label %while.end

while.body:                                       ; preds = %while.cond
  %4 = load %"struct.std::pair"** %first.addr, align 4
  %first7 = getelementptr inbounds %"struct.std::pair"* %4, i32 0, i32 0
  %5 = load i32* %first7, align 4
  %6 = load %"struct.std::pair"** %first.addr, align 4
  %second = getelementptr inbounds %"struct.std::pair"* %6, i32 0, i32 1
  %7 = load i32* %second, align 4
  %8 = load i32** %ep_iter.addr, align 4
  invoke void @_ZN5boost8propertyINS_13edge_weight_tEiNS_11no_propertyEEC1ERKi(%"struct.boost::property"* %ref.tmp8, i32* %8)
          to label %invoke.cont10 unwind label %lpad9

invoke.cont10:                                    ; preds = %while.body
  %9 = bitcast %"class.boost::vec_adj_list_impl"* %this1 to %"class.boost::adjacency_list"*
  %10 = bitcast %"class.boost::adjacency_list"* %9 to %"class.boost::vec_adj_list_impl"*
  invoke void @_ZN5boost8add_edgeINS_14adjacency_listINS_4vecSES2_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS4_EES4_NS_5listSEEENS_6detail12adj_list_genIS9_S2_S2_S3_S4_S7_S4_S8_E6configENS_23undirected_graph_helperISD_EEEESt4pairINT0_15edge_descriptorEbENSH_17vertex_descriptorESK_RKNSH_18edge_property_typeERNS_17vec_adj_list_implIT_SH_T1_EE(%"struct.std::pair.36"* sret %tmp, i32 %5, i32 %7, %"struct.boost::property"* %ref.tmp8, %"class.boost::vec_adj_list_impl"* %10)
          to label %invoke.cont11 unwind label %lpad9

invoke.cont11:                                    ; preds = %invoke.cont10
  %11 = load %"struct.std::pair"** %first.addr, align 4
  %incdec.ptr = getelementptr inbounds %"struct.std::pair"* %11, i32 1
  store %"struct.std::pair"* %incdec.ptr, %"struct.std::pair"** %first.addr, align 4
  %12 = load i32** %ep_iter.addr, align 4
  %incdec.ptr12 = getelementptr inbounds i32* %12, i32 1
  store i32* %incdec.ptr12, i32** %ep_iter.addr, align 4
  br label %while.cond

lpad:                                             ; preds = %invoke.cont4, %entry
  %13 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %14 = extractvalue { i8*, i32 } %13, 0
  store i8* %14, i8** %exn.slot
  %15 = extractvalue { i8*, i32 } %13, 1
  store i32 %15, i32* %ehselector.slot
  br label %ehcleanup

lpad3:                                            ; preds = %invoke.cont
  %16 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %17 = extractvalue { i8*, i32 } %16, 0
  store i8* %17, i8** %exn.slot
  %18 = extractvalue { i8*, i32 } %16, 1
  store i32 %18, i32* %ehselector.slot
  call void @_ZNSaIN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config13stored_vertexEED1Ev(%"class.std::allocator.0"* %ref.tmp2) nounwind
  invoke void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config13stored_vertexD1Ev(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %ref.tmp)
          to label %invoke.cont6 unwind label %terminate.lpad

invoke.cont6:                                     ; preds = %lpad3
  br label %ehcleanup

lpad9:                                            ; preds = %invoke.cont10, %while.body
  %19 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %20 = extractvalue { i8*, i32 } %19, 0
  store i8* %20, i8** %exn.slot
  %21 = extractvalue { i8*, i32 } %19, 1
  store i32 %21, i32* %ehselector.slot
  invoke void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EED1Ev(%"class.std::vector"* %m_vertices)
          to label %invoke.cont13 unwind label %terminate.lpad

while.end:                                        ; preds = %while.cond
  ret void

invoke.cont13:                                    ; preds = %lpad9
  br label %ehcleanup

ehcleanup:                                        ; preds = %invoke.cont13, %invoke.cont6, %lpad
  invoke void @_ZNSt4listIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EED1Ev(%"class.std::list"* %m_edges)
          to label %invoke.cont14 unwind label %terminate.lpad

invoke.cont14:                                    ; preds = %ehcleanup
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont14
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val15 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val15

terminate.lpad:                                   ; preds = %ehcleanup, %lpad9, %lpad3
  %22 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZN5boost10scoped_ptrINS_11no_propertyEEC1EPS1_(%"class.boost::scoped_ptr"* %this, %"struct.boost::no_property"* %p) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::scoped_ptr"*, align 4
  %p.addr = alloca %"struct.boost::no_property"*, align 4
  store %"class.boost::scoped_ptr"* %this, %"class.boost::scoped_ptr"** %this.addr, align 4
  store %"struct.boost::no_property"* %p, %"struct.boost::no_property"** %p.addr, align 4
  %this1 = load %"class.boost::scoped_ptr"** %this.addr
  %0 = load %"struct.boost::no_property"** %p.addr, align 4
  call void @_ZN5boost10scoped_ptrINS_11no_propertyEEC2EPS1_(%"class.boost::scoped_ptr"* %this1, %"struct.boost::no_property"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost17vec_adj_list_implINS_14adjacency_listINS_4vecSES2_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS4_EES4_NS_5listSEEENS_6detail12adj_list_genIS9_S2_S2_S3_S4_S7_S4_S8_E6configENS_23undirected_graph_helperISD_EEED2Ev(%"class.boost::vec_adj_list_impl"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::vec_adj_list_impl"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.boost::vec_adj_list_impl"* %this, %"class.boost::vec_adj_list_impl"** %this.addr, align 4
  %this1 = load %"class.boost::vec_adj_list_impl"** %this.addr
  %m_vertices = getelementptr inbounds %"class.boost::vec_adj_list_impl"* %this1, i32 0, i32 1
  invoke void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EED1Ev(%"class.std::vector"* %m_vertices)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %m_edges = getelementptr inbounds %"class.boost::vec_adj_list_impl"* %this1, i32 0, i32 0
  call void @_ZNSt4listIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EED1Ev(%"class.std::list"* %m_edges)
  ret void

lpad:                                             ; preds = %entry
  %0 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %1 = extractvalue { i8*, i32 } %0, 0
  store i8* %1, i8** %exn.slot
  %2 = extractvalue { i8*, i32 } %0, 1
  store i32 %2, i32* %ehselector.slot
  %m_edges2 = getelementptr inbounds %"class.boost::vec_adj_list_impl"* %this1, i32 0, i32 0
  invoke void @_ZNSt4listIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EED1Ev(%"class.std::list"* %m_edges2)
          to label %invoke.cont3 unwind label %terminate.lpad

invoke.cont3:                                     ; preds = %lpad
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont3
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val4 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val4

terminate.lpad:                                   ; preds = %lpad
  %3 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EED1Ev(%"class.std::vector"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::vector"*, align 4
  store %"class.std::vector"* %this, %"class.std::vector"** %this.addr, align 4
  %this1 = load %"class.std::vector"** %this.addr
  call void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EED2Ev(%"class.std::vector"* %this1)
  ret void
}

define linkonce_odr void @_ZNSt4listIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EED1Ev(%"class.std::list"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.std::list"*, align 4
  store %"class.std::list"* %this, %"class.std::list"** %this.addr, align 4
  %this1 = load %"class.std::list"** %this.addr
  call void @_ZNSt4listIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EED2Ev(%"class.std::list"* %this1)
  ret void
}

define linkonce_odr void @_ZNSt4listIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EED2Ev(%"class.std::list"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.std::list"*, align 4
  store %"class.std::list"* %this, %"class.std::list"** %this.addr, align 4
  %this1 = load %"class.std::list"** %this.addr
  %0 = bitcast %"class.std::list"* %this1 to %"class.std::_List_base"*
  call void @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EED2Ev(%"class.std::_List_base"* %0)
  ret void
}

define linkonce_odr void @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EED2Ev(%"class.std::_List_base"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::_List_base"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.std::_List_base"* %this, %"class.std::_List_base"** %this.addr, align 4
  %this1 = load %"class.std::_List_base"** %this.addr
  invoke void @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EE8_M_clearEv(%"class.std::_List_base"* %this1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %_M_impl = getelementptr inbounds %"class.std::_List_base"* %this1, i32 0, i32 0
  call void @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EE10_List_implD1Ev(%"struct.std::_List_base<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_List_impl"* %_M_impl) nounwind
  ret void

lpad:                                             ; preds = %entry
  %0 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %1 = extractvalue { i8*, i32 } %0, 0
  store i8* %1, i8** %exn.slot
  %2 = extractvalue { i8*, i32 } %0, 1
  store i32 %2, i32* %ehselector.slot
  %_M_impl2 = getelementptr inbounds %"class.std::_List_base"* %this1, i32 0, i32 0
  call void @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EE10_List_implD1Ev(%"struct.std::_List_base<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_List_impl"* %_M_impl2) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val3 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val3
}

define linkonce_odr void @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EE8_M_clearEv(%"class.std::_List_base"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::_List_base"*, align 4
  %__cur = alloca %"struct.std::_List_node"*, align 4
  %__tmp = alloca %"struct.std::_List_node"*, align 4
  %temp.lvalue = alloca %"class.std::allocator.33", align 1
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.std::_List_base"* %this, %"class.std::_List_base"** %this.addr, align 4
  %this1 = load %"class.std::_List_base"** %this.addr
  %_M_impl = getelementptr inbounds %"class.std::_List_base"* %this1, i32 0, i32 0
  %_M_node = getelementptr inbounds %"struct.std::_List_base<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_List_impl"* %_M_impl, i32 0, i32 0
  %_M_next = getelementptr inbounds %"struct.std::__detail::_List_node_base"* %_M_node, i32 0, i32 0
  %0 = load %"struct.std::__detail::_List_node_base"** %_M_next, align 4
  %1 = bitcast %"struct.std::__detail::_List_node_base"* %0 to %"struct.std::_List_node"*
  store %"struct.std::_List_node"* %1, %"struct.std::_List_node"** %__cur, align 4
  br label %while.cond

while.cond:                                       ; preds = %invoke.cont5, %entry
  %2 = load %"struct.std::_List_node"** %__cur, align 4
  %3 = bitcast %"struct.std::_List_node"* %2 to %"struct.std::__detail::_List_node_base"*
  %_M_impl2 = getelementptr inbounds %"class.std::_List_base"* %this1, i32 0, i32 0
  %_M_node3 = getelementptr inbounds %"struct.std::_List_base<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_List_impl"* %_M_impl2, i32 0, i32 0
  %cmp = icmp ne %"struct.std::__detail::_List_node_base"* %3, %_M_node3
  br i1 %cmp, label %while.body, label %while.end

while.body:                                       ; preds = %while.cond
  %4 = load %"struct.std::_List_node"** %__cur, align 4
  store %"struct.std::_List_node"* %4, %"struct.std::_List_node"** %__tmp, align 4
  %5 = load %"struct.std::_List_node"** %__cur, align 4
  %6 = bitcast %"struct.std::_List_node"* %5 to %"struct.std::__detail::_List_node_base"*
  %_M_next4 = getelementptr inbounds %"struct.std::__detail::_List_node_base"* %6, i32 0, i32 0
  %7 = load %"struct.std::__detail::_List_node_base"** %_M_next4, align 4
  %8 = bitcast %"struct.std::__detail::_List_node_base"* %7 to %"struct.std::_List_node"*
  store %"struct.std::_List_node"* %8, %"struct.std::_List_node"** %__cur, align 4
  call void @_ZNKSt10_List_baseIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EE19_M_get_Tp_allocatorEv(%"class.std::allocator.33"* sret %temp.lvalue, %"class.std::_List_base"* %this1)
  %9 = bitcast %"class.std::allocator.33"* %temp.lvalue to %"class.__gnu_cxx::new_allocator.34"*
  %10 = load %"struct.std::_List_node"** %__tmp, align 4
  %_M_data = getelementptr inbounds %"struct.std::_List_node"* %10, i32 0, i32 1
  %call = invoke %"struct.boost::list_edge"* @_ZSt11__addressofIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEEPT_RS7_(%"struct.boost::list_edge"* %_M_data)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %while.body
  invoke void @_ZN9__gnu_cxx13new_allocatorIN5boost9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEE7destroyEPS7_(%"class.__gnu_cxx::new_allocator.34"* %9, %"struct.boost::list_edge"* %call)
          to label %invoke.cont5 unwind label %lpad

invoke.cont5:                                     ; preds = %invoke.cont
  call void @_ZNSaIN5boost9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEED1Ev(%"class.std::allocator.33"* %temp.lvalue) nounwind
  %11 = load %"struct.std::_List_node"** %__tmp, align 4
  call void @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EE11_M_put_nodeEPSt10_List_nodeIS6_E(%"class.std::_List_base"* %this1, %"struct.std::_List_node"* %11)
  br label %while.cond

lpad:                                             ; preds = %invoke.cont, %while.body
  %12 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %13 = extractvalue { i8*, i32 } %12, 0
  store i8* %13, i8** %exn.slot
  %14 = extractvalue { i8*, i32 } %12, 1
  store i32 %14, i32* %ehselector.slot
  call void @_ZNSaIN5boost9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEED1Ev(%"class.std::allocator.33"* %temp.lvalue) nounwind
  br label %eh.resume

while.end:                                        ; preds = %while.cond
  ret void

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val6 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val6
}

define linkonce_odr void @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EE10_List_implD1Ev(%"struct.std::_List_base<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_List_impl"* %this) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.std::_List_base<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_List_impl"*, align 4
  store %"struct.std::_List_base<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_List_impl"* %this, %"struct.std::_List_base<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_List_impl"** %this.addr, align 4
  %this1 = load %"struct.std::_List_base<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_List_impl"** %this.addr
  call void @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EE10_List_implD2Ev(%"struct.std::_List_base<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_List_impl"* %this1) nounwind
  ret void
}

define linkonce_odr void @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EE10_List_implD2Ev(%"struct.std::_List_base<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_List_impl"* %this) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.std::_List_base<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_List_impl"*, align 4
  store %"struct.std::_List_base<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_List_impl"* %this, %"struct.std::_List_base<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_List_impl"** %this.addr, align 4
  %this1 = load %"struct.std::_List_base<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_List_impl"** %this.addr
  %0 = bitcast %"struct.std::_List_base<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_List_impl"* %this1 to %"class.std::allocator"*
  call void @_ZNSaISt10_List_nodeIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEEED2Ev(%"class.std::allocator"* %0) nounwind
  ret void
}

define linkonce_odr void @_ZNSaISt10_List_nodeIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEEED2Ev(%"class.std::allocator"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator"*, align 4
  store %"class.std::allocator"* %this, %"class.std::allocator"** %this.addr, align 4
  %this1 = load %"class.std::allocator"** %this.addr
  %0 = bitcast %"class.std::allocator"* %this1 to %"class.__gnu_cxx::new_allocator"*
  call void @_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5boost9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEEED2Ev(%"class.__gnu_cxx::new_allocator"* %0) nounwind
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5boost9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEEED2Ev(%"class.__gnu_cxx::new_allocator"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator"*, align 4
  store %"class.__gnu_cxx::new_allocator"* %this, %"class.__gnu_cxx::new_allocator"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator"** %this.addr
  ret void
}

define linkonce_odr void @_ZNKSt10_List_baseIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EE19_M_get_Tp_allocatorEv(%"class.std::allocator.33"* noalias sret %agg.result, %"class.std::_List_base"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::_List_base"*, align 4
  store %"class.std::_List_base"* %this, %"class.std::_List_base"** %this.addr, align 4
  %this1 = load %"class.std::_List_base"** %this.addr
  %call = call %"class.std::allocator"* @_ZNKSt10_List_baseIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EE21_M_get_Node_allocatorEv(%"class.std::_List_base"* %this1)
  call void @_ZNSaIN5boost9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEEC1ISt10_List_nodeIS5_EEERKSaIT_E(%"class.std::allocator.33"* %agg.result, %"class.std::allocator"* %call) nounwind
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIN5boost9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEE7destroyEPS7_(%"class.__gnu_cxx::new_allocator.34"* %this, %"struct.boost::list_edge"* %__p) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.34"*, align 4
  %__p.addr = alloca %"struct.boost::list_edge"*, align 4
  store %"class.__gnu_cxx::new_allocator.34"* %this, %"class.__gnu_cxx::new_allocator.34"** %this.addr, align 4
  store %"struct.boost::list_edge"* %__p, %"struct.boost::list_edge"** %__p.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.34"** %this.addr
  %0 = load %"struct.boost::list_edge"** %__p.addr, align 4
  ret void
}

define linkonce_odr void @_ZNSaIN5boost9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEED1Ev(%"class.std::allocator.33"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator.33"*, align 4
  store %"class.std::allocator.33"* %this, %"class.std::allocator.33"** %this.addr, align 4
  %this1 = load %"class.std::allocator.33"** %this.addr
  call void @_ZNSaIN5boost9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEED2Ev(%"class.std::allocator.33"* %this1) nounwind
  ret void
}

define linkonce_odr void @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EE11_M_put_nodeEPSt10_List_nodeIS6_E(%"class.std::_List_base"* %this, %"struct.std::_List_node"* %__p) align 2 {
entry:
  %this.addr = alloca %"class.std::_List_base"*, align 4
  %__p.addr = alloca %"struct.std::_List_node"*, align 4
  store %"class.std::_List_base"* %this, %"class.std::_List_base"** %this.addr, align 4
  store %"struct.std::_List_node"* %__p, %"struct.std::_List_node"** %__p.addr, align 4
  %this1 = load %"class.std::_List_base"** %this.addr
  %_M_impl = getelementptr inbounds %"class.std::_List_base"* %this1, i32 0, i32 0
  %0 = bitcast %"struct.std::_List_base<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_List_impl"* %_M_impl to %"class.std::allocator"*
  %1 = bitcast %"class.std::allocator"* %0 to %"class.__gnu_cxx::new_allocator"*
  %2 = load %"struct.std::_List_node"** %__p.addr, align 4
  call void @_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5boost9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEEE10deallocateEPS9_j(%"class.__gnu_cxx::new_allocator"* %1, %"struct.std::_List_node"* %2, i32 1)
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5boost9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEEE10deallocateEPS9_j(%"class.__gnu_cxx::new_allocator"* %this, %"struct.std::_List_node"* %__p, i32) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator"*, align 4
  %__p.addr = alloca %"struct.std::_List_node"*, align 4
  %.addr = alloca i32, align 4
  store %"class.__gnu_cxx::new_allocator"* %this, %"class.__gnu_cxx::new_allocator"** %this.addr, align 4
  store %"struct.std::_List_node"* %__p, %"struct.std::_List_node"** %__p.addr, align 4
  store i32 %0, i32* %.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator"** %this.addr
  %1 = load %"struct.std::_List_node"** %__p.addr, align 4
  %2 = bitcast %"struct.std::_List_node"* %1 to i8*
  call void @_ZdlPv(i8* %2) nounwind
  ret void
}

define linkonce_odr void @_ZNSaIN5boost9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEED2Ev(%"class.std::allocator.33"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator.33"*, align 4
  store %"class.std::allocator.33"* %this, %"class.std::allocator.33"** %this.addr, align 4
  %this1 = load %"class.std::allocator.33"** %this.addr
  %0 = bitcast %"class.std::allocator.33"* %this1 to %"class.__gnu_cxx::new_allocator.34"*
  call void @_ZN9__gnu_cxx13new_allocatorIN5boost9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEED2Ev(%"class.__gnu_cxx::new_allocator.34"* %0) nounwind
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIN5boost9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEED2Ev(%"class.__gnu_cxx::new_allocator.34"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.34"*, align 4
  store %"class.__gnu_cxx::new_allocator.34"* %this, %"class.__gnu_cxx::new_allocator.34"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.34"** %this.addr
  ret void
}

define linkonce_odr void @_ZNSaIN5boost9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEEC1ISt10_List_nodeIS5_EEERKSaIT_E(%"class.std::allocator.33"* %this, %"class.std::allocator"*) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator.33"*, align 4
  %.addr = alloca %"class.std::allocator"*, align 4
  store %"class.std::allocator.33"* %this, %"class.std::allocator.33"** %this.addr, align 4
  store %"class.std::allocator"* %0, %"class.std::allocator"** %.addr, align 4
  %this1 = load %"class.std::allocator.33"** %this.addr
  %1 = load %"class.std::allocator"** %.addr
  call void @_ZNSaIN5boost9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEEC2ISt10_List_nodeIS5_EEERKSaIT_E(%"class.std::allocator.33"* %this1, %"class.std::allocator"* %1) nounwind
  ret void
}

define linkonce_odr %"class.std::allocator"* @_ZNKSt10_List_baseIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EE21_M_get_Node_allocatorEv(%"class.std::_List_base"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::_List_base"*, align 4
  store %"class.std::_List_base"* %this, %"class.std::_List_base"** %this.addr, align 4
  %this1 = load %"class.std::_List_base"** %this.addr
  %_M_impl = getelementptr inbounds %"class.std::_List_base"* %this1, i32 0, i32 0
  %0 = bitcast %"struct.std::_List_base<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_List_impl"* %_M_impl to %"class.std::allocator"*
  ret %"class.std::allocator"* %0
}

define linkonce_odr void @_ZNSaIN5boost9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEEC2ISt10_List_nodeIS5_EEERKSaIT_E(%"class.std::allocator.33"* %this, %"class.std::allocator"*) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator.33"*, align 4
  %.addr = alloca %"class.std::allocator"*, align 4
  store %"class.std::allocator.33"* %this, %"class.std::allocator.33"** %this.addr, align 4
  store %"class.std::allocator"* %0, %"class.std::allocator"** %.addr, align 4
  %this1 = load %"class.std::allocator.33"** %this.addr
  %1 = bitcast %"class.std::allocator.33"* %this1 to %"class.__gnu_cxx::new_allocator.34"*
  call void @_ZN9__gnu_cxx13new_allocatorIN5boost9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEEC2Ev(%"class.__gnu_cxx::new_allocator.34"* %1) nounwind
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIN5boost9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEEC2Ev(%"class.__gnu_cxx::new_allocator.34"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.34"*, align 4
  store %"class.__gnu_cxx::new_allocator.34"* %this, %"class.__gnu_cxx::new_allocator.34"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.34"** %this.addr
  ret void
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EED2Ev(%"class.std::vector"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::vector"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.std::vector"* %this, %"class.std::vector"** %this.addr, align 4
  %this1 = load %"class.std::vector"** %this.addr
  %0 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base"* %0, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl, i32 0, i32 0
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_start, align 4
  %2 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base"* %2, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl2, i32 0, i32 1
  %3 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish, align 4
  %4 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %call = invoke %"class.std::allocator.0"* @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base"* %4)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  invoke void @_ZSt8_DestroyIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESE_EvT_SG_RSaIT0_E(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %1, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %3, %"class.std::allocator.0"* %call)
          to label %invoke.cont3 unwind label %lpad

invoke.cont3:                                     ; preds = %invoke.cont
  %5 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  call void @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EED2Ev(%"struct.std::_Vector_base"* %5)
  ret void

lpad:                                             ; preds = %invoke.cont, %entry
  %6 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %7 = extractvalue { i8*, i32 } %6, 0
  store i8* %7, i8** %exn.slot
  %8 = extractvalue { i8*, i32 } %6, 1
  store i32 %8, i32* %ehselector.slot
  %9 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  invoke void @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EED2Ev(%"struct.std::_Vector_base"* %9)
          to label %invoke.cont4 unwind label %terminate.lpad

invoke.cont4:                                     ; preds = %lpad
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont4
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val5 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val5

terminate.lpad:                                   ; preds = %lpad
  %10 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZSt8_DestroyIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESE_EvT_SG_RSaIT0_E(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"class.std::allocator.0"*) inlinehint {
entry:
  %__first.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__last.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %.addr = alloca %"class.std::allocator.0"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  store %"class.std::allocator.0"* %0, %"class.std::allocator.0"** %.addr, align 4
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  call void @_ZSt8_DestroyIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexEEvT_SG_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %1, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %2)
  ret void
}

define linkonce_odr %"class.std::allocator.0"* @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base"*, align 4
  store %"struct.std::_Vector_base"* %this, %"struct.std::_Vector_base"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base"** %this.addr
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base"* %this1, i32 0, i32 0
  %0 = bitcast %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl to %"class.std::allocator.0"*
  ret %"class.std::allocator.0"* %0
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EED2Ev(%"struct.std::_Vector_base"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"struct.std::_Vector_base"* %this, %"struct.std::_Vector_base"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base"** %this.addr
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base"* %this1, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl, i32 0, i32 0
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_start, align 4
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base"* %this1, i32 0, i32 0
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl2, i32 0, i32 2
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_end_of_storage, align 4
  %_M_impl3 = getelementptr inbounds %"struct.std::_Vector_base"* %this1, i32 0, i32 0
  %_M_start4 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl3, i32 0, i32 0
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_start4, align 4
  %sub.ptr.lhs.cast = ptrtoint %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %1 to i32
  %sub.ptr.rhs.cast = ptrtoint %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %2 to i32
  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  %sub.ptr.div = sdiv exact i32 %sub.ptr.sub, 16
  invoke void @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE13_M_deallocateEPSE_j(%"struct.std::_Vector_base"* %this1, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %0, i32 %sub.ptr.div)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %_M_impl5 = getelementptr inbounds %"struct.std::_Vector_base"* %this1, i32 0, i32 0
  call void @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE12_Vector_implD1Ev(%"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl5) nounwind
  ret void

lpad:                                             ; preds = %entry
  %3 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %4 = extractvalue { i8*, i32 } %3, 0
  store i8* %4, i8** %exn.slot
  %5 = extractvalue { i8*, i32 } %3, 1
  store i32 %5, i32* %ehselector.slot
  %_M_impl6 = getelementptr inbounds %"struct.std::_Vector_base"* %this1, i32 0, i32 0
  call void @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE12_Vector_implD1Ev(%"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl6) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val7 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val7
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE13_M_deallocateEPSE_j(%"struct.std::_Vector_base"* %this, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__p, i32 %__n) align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base"*, align 4
  %__p.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__n.addr = alloca i32, align 4
  store %"struct.std::_Vector_base"* %this, %"struct.std::_Vector_base"** %this.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__p, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__p.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  %this1 = load %"struct.std::_Vector_base"** %this.addr
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__p.addr, align 4
  %tobool = icmp ne %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %0, null
  br i1 %tobool, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base"* %this1, i32 0, i32 0
  %1 = bitcast %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl to %"class.__gnu_cxx::new_allocator.1"*
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__p.addr, align 4
  %3 = load i32* %__n.addr, align 4
  call void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_11undirectedSENS1_11no_propertyENS1_8propertyINS1_13edge_weight_tEiS7_EES7_NS1_5listSEEES5_S5_S6_S7_SA_S7_SB_E6config13stored_vertexEE10deallocateEPSF_j(%"class.__gnu_cxx::new_allocator.1"* %1, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %2, i32 %3)
  br label %if.end

if.end:                                           ; preds = %if.then, %entry
  ret void
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE12_Vector_implD1Ev(%"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %this) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"*, align 4
  store %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %this, %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"** %this.addr
  call void @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE12_Vector_implD2Ev(%"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %this1) nounwind
  ret void
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE12_Vector_implD2Ev(%"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %this) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"*, align 4
  store %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %this, %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"** %this.addr
  %0 = bitcast %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %this1 to %"class.std::allocator.0"*
  call void @_ZNSaIN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config13stored_vertexEED2Ev(%"class.std::allocator.0"* %0) nounwind
  ret void
}

define linkonce_odr void @_ZNSaIN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config13stored_vertexEED2Ev(%"class.std::allocator.0"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator.0"*, align 4
  store %"class.std::allocator.0"* %this, %"class.std::allocator.0"** %this.addr, align 4
  %this1 = load %"class.std::allocator.0"** %this.addr
  %0 = bitcast %"class.std::allocator.0"* %this1 to %"class.__gnu_cxx::new_allocator.1"*
  call void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_11undirectedSENS1_11no_propertyENS1_8propertyINS1_13edge_weight_tEiS7_EES7_NS1_5listSEEES5_S5_S6_S7_SA_S7_SB_E6config13stored_vertexEED2Ev(%"class.__gnu_cxx::new_allocator.1"* %0) nounwind
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_11undirectedSENS1_11no_propertyENS1_8propertyINS1_13edge_weight_tEiS7_EES7_NS1_5listSEEES5_S5_S6_S7_SA_S7_SB_E6config13stored_vertexEED2Ev(%"class.__gnu_cxx::new_allocator.1"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.1"*, align 4
  store %"class.__gnu_cxx::new_allocator.1"* %this, %"class.__gnu_cxx::new_allocator.1"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.1"** %this.addr
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_11undirectedSENS1_11no_propertyENS1_8propertyINS1_13edge_weight_tEiS7_EES7_NS1_5listSEEES5_S5_S6_S7_SA_S7_SB_E6config13stored_vertexEE10deallocateEPSF_j(%"class.__gnu_cxx::new_allocator.1"* %this, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__p, i32) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.1"*, align 4
  %__p.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %.addr = alloca i32, align 4
  store %"class.__gnu_cxx::new_allocator.1"* %this, %"class.__gnu_cxx::new_allocator.1"** %this.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__p, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__p.addr, align 4
  store i32 %0, i32* %.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.1"** %this.addr
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__p.addr, align 4
  %2 = bitcast %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %1 to i8*
  call void @_ZdlPv(i8* %2) nounwind
  ret void
}

define linkonce_odr void @_ZSt8_DestroyIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexEEvT_SG_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__last) inlinehint {
entry:
  %__first.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__last.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  call void @_ZNSt12_Destroy_auxILb0EE9__destroyIPN5boost6detail12adj_list_genINS2_14adjacency_listINS2_4vecSES6_NS2_11undirectedSENS2_11no_propertyENS2_8propertyINS2_13edge_weight_tEiS8_EES8_NS2_5listSEEES6_S6_S7_S8_SB_S8_SC_E6config13stored_vertexEEEvT_SI_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %0, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %1)
  ret void
}

define linkonce_odr void @_ZNSt12_Destroy_auxILb0EE9__destroyIPN5boost6detail12adj_list_genINS2_14adjacency_listINS2_4vecSES6_NS2_11undirectedSENS2_11no_propertyENS2_8propertyINS2_13edge_weight_tEiS8_EES8_NS2_5listSEEES6_S6_S7_S8_SB_S8_SC_E6config13stored_vertexEEEvT_SI_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__last) align 2 {
entry:
  %__first.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__last.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  br label %for.cond

for.cond:                                         ; preds = %for.inc, %entry
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  %cmp = icmp ne %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %0, %1
  br i1 %cmp, label %for.body, label %for.end

for.body:                                         ; preds = %for.cond
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %call = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt11__addressofIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexEEPT_RSF_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %2)
  call void @_ZSt8_DestroyIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexEEvPT_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %call)
  br label %for.inc

for.inc:                                          ; preds = %for.body
  %3 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %incdec.ptr = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %3, i32 1
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %incdec.ptr, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  br label %for.cond

for.end:                                          ; preds = %for.cond
  ret void
}

define linkonce_odr void @_ZSt8_DestroyIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexEEvPT_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__pointer) inlinehint {
entry:
  %__pointer.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__pointer, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__pointer.addr, align 4
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__pointer.addr, align 4
  call void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config13stored_vertexD1Ev(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %0)
  ret void
}

define linkonce_odr %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt11__addressofIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexEEPT_RSF_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__r) nounwind inlinehint {
entry:
  %__r.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__r, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__r.addr, align 4
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__r.addr, align 4
  %1 = bitcast %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %0 to i8*
  %2 = bitcast i8* %1 to %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*
  ret %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %2
}

define linkonce_odr void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config13stored_vertexD1Ev(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %this, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %this.addr, align 4
  %this1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %this.addr
  call void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config13stored_vertexD2Ev(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config13stored_vertexD2Ev(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %this, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %this.addr, align 4
  %this1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %this.addr
  %0 = bitcast %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %this1 to %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"*
  call void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config18rand_stored_vertexD2Ev(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config18rand_stored_vertexD2Ev(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"* %this, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"** %this.addr, align 4
  %this1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"** %this.addr
  %m_out_edges = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"* %this1, i32 0, i32 0
  call void @_ZNSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EED1Ev(%"class.std::vector.11"* %m_out_edges)
  ret void
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EED1Ev(%"class.std::vector.11"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::vector.11"*, align 4
  store %"class.std::vector.11"* %this, %"class.std::vector.11"** %this.addr, align 4
  %this1 = load %"class.std::vector.11"** %this.addr
  call void @_ZNSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EED2Ev(%"class.std::vector.11"* %this1)
  ret void
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EED2Ev(%"class.std::vector.11"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::vector.11"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.std::vector.11"* %this, %"class.std::vector.11"** %this.addr, align 4
  %this1 = load %"class.std::vector.11"** %this.addr
  %0 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.12"* %0, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl, i32 0, i32 0
  %1 = load %"class.boost::detail::stored_edge_iter"** %_M_start, align 4
  %2 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base.12"* %2, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl2, i32 0, i32 1
  %3 = load %"class.boost::detail::stored_edge_iter"** %_M_finish, align 4
  %4 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %call = invoke %"class.std::allocator.13"* @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.12"* %4)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  invoke void @_ZSt8_DestroyIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESB_EvT_SD_RSaIT0_E(%"class.boost::detail::stored_edge_iter"* %1, %"class.boost::detail::stored_edge_iter"* %3, %"class.std::allocator.13"* %call)
          to label %invoke.cont3 unwind label %lpad

invoke.cont3:                                     ; preds = %invoke.cont
  %5 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  call void @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EED2Ev(%"struct.std::_Vector_base.12"* %5)
  ret void

lpad:                                             ; preds = %invoke.cont, %entry
  %6 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %7 = extractvalue { i8*, i32 } %6, 0
  store i8* %7, i8** %exn.slot
  %8 = extractvalue { i8*, i32 } %6, 1
  store i32 %8, i32* %ehselector.slot
  %9 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  invoke void @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EED2Ev(%"struct.std::_Vector_base.12"* %9)
          to label %invoke.cont4 unwind label %terminate.lpad

invoke.cont4:                                     ; preds = %lpad
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont4
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val5 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val5

terminate.lpad:                                   ; preds = %lpad
  %10 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZSt8_DestroyIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESB_EvT_SD_RSaIT0_E(%"class.boost::detail::stored_edge_iter"* %__first, %"class.boost::detail::stored_edge_iter"* %__last, %"class.std::allocator.13"*) inlinehint {
entry:
  %__first.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__last.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %.addr = alloca %"class.std::allocator.13"*, align 4
  store %"class.boost::detail::stored_edge_iter"* %__first, %"class.boost::detail::stored_edge_iter"** %__first.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %__last, %"class.boost::detail::stored_edge_iter"** %__last.addr, align 4
  store %"class.std::allocator.13"* %0, %"class.std::allocator.13"** %.addr, align 4
  %1 = load %"class.boost::detail::stored_edge_iter"** %__first.addr, align 4
  %2 = load %"class.boost::detail::stored_edge_iter"** %__last.addr, align 4
  call void @_ZSt8_DestroyIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EEEvT_SD_(%"class.boost::detail::stored_edge_iter"* %1, %"class.boost::detail::stored_edge_iter"* %2)
  ret void
}

define linkonce_odr %"class.std::allocator.13"* @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.12"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base.12"*, align 4
  store %"struct.std::_Vector_base.12"* %this, %"struct.std::_Vector_base.12"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base.12"** %this.addr
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.12"* %this1, i32 0, i32 0
  %0 = bitcast %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl to %"class.std::allocator.13"*
  ret %"class.std::allocator.13"* %0
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EED2Ev(%"struct.std::_Vector_base.12"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base.12"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"struct.std::_Vector_base.12"* %this, %"struct.std::_Vector_base.12"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base.12"** %this.addr
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.12"* %this1, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl, i32 0, i32 0
  %0 = load %"class.boost::detail::stored_edge_iter"** %_M_start, align 4
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base.12"* %this1, i32 0, i32 0
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl2, i32 0, i32 2
  %1 = load %"class.boost::detail::stored_edge_iter"** %_M_end_of_storage, align 4
  %_M_impl3 = getelementptr inbounds %"struct.std::_Vector_base.12"* %this1, i32 0, i32 0
  %_M_start4 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl3, i32 0, i32 0
  %2 = load %"class.boost::detail::stored_edge_iter"** %_M_start4, align 4
  %sub.ptr.lhs.cast = ptrtoint %"class.boost::detail::stored_edge_iter"* %1 to i32
  %sub.ptr.rhs.cast = ptrtoint %"class.boost::detail::stored_edge_iter"* %2 to i32
  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  %sub.ptr.div = sdiv exact i32 %sub.ptr.sub, 8
  invoke void @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE13_M_deallocateEPSB_j(%"struct.std::_Vector_base.12"* %this1, %"class.boost::detail::stored_edge_iter"* %0, i32 %sub.ptr.div)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %_M_impl5 = getelementptr inbounds %"struct.std::_Vector_base.12"* %this1, i32 0, i32 0
  call void @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE12_Vector_implD1Ev(%"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl5) nounwind
  ret void

lpad:                                             ; preds = %entry
  %3 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %4 = extractvalue { i8*, i32 } %3, 0
  store i8* %4, i8** %exn.slot
  %5 = extractvalue { i8*, i32 } %3, 1
  store i32 %5, i32* %ehselector.slot
  %_M_impl6 = getelementptr inbounds %"struct.std::_Vector_base.12"* %this1, i32 0, i32 0
  call void @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE12_Vector_implD1Ev(%"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl6) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val7 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val7
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE13_M_deallocateEPSB_j(%"struct.std::_Vector_base.12"* %this, %"class.boost::detail::stored_edge_iter"* %__p, i32 %__n) align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base.12"*, align 4
  %__p.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__n.addr = alloca i32, align 4
  store %"struct.std::_Vector_base.12"* %this, %"struct.std::_Vector_base.12"** %this.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %__p, %"class.boost::detail::stored_edge_iter"** %__p.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  %this1 = load %"struct.std::_Vector_base.12"** %this.addr
  %0 = load %"class.boost::detail::stored_edge_iter"** %__p.addr, align 4
  %tobool = icmp ne %"class.boost::detail::stored_edge_iter"* %0, null
  br i1 %tobool, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.12"* %this1, i32 0, i32 0
  %1 = bitcast %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl to %"class.__gnu_cxx::new_allocator.14"*
  %2 = load %"class.boost::detail::stored_edge_iter"** %__p.addr, align 4
  %3 = load i32* %__n.addr, align 4
  call void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EEE10deallocateEPSC_j(%"class.__gnu_cxx::new_allocator.14"* %1, %"class.boost::detail::stored_edge_iter"* %2, i32 %3)
  br label %if.end

if.end:                                           ; preds = %if.then, %entry
  ret void
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE12_Vector_implD1Ev(%"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %this) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"*, align 4
  store %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %this, %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"** %this.addr
  call void @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE12_Vector_implD2Ev(%"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %this1) nounwind
  ret void
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE12_Vector_implD2Ev(%"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %this) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"*, align 4
  store %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %this, %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"** %this.addr
  %0 = bitcast %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %this1 to %"class.std::allocator.13"*
  call void @_ZNSaIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEES7_EEED2Ev(%"class.std::allocator.13"* %0) nounwind
  ret void
}

define linkonce_odr void @_ZNSaIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEES7_EEED2Ev(%"class.std::allocator.13"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator.13"*, align 4
  store %"class.std::allocator.13"* %this, %"class.std::allocator.13"** %this.addr, align 4
  %this1 = load %"class.std::allocator.13"** %this.addr
  %0 = bitcast %"class.std::allocator.13"* %this1 to %"class.__gnu_cxx::new_allocator.14"*
  call void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EEED2Ev(%"class.__gnu_cxx::new_allocator.14"* %0) nounwind
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EEED2Ev(%"class.__gnu_cxx::new_allocator.14"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.14"*, align 4
  store %"class.__gnu_cxx::new_allocator.14"* %this, %"class.__gnu_cxx::new_allocator.14"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.14"** %this.addr
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EEE10deallocateEPSC_j(%"class.__gnu_cxx::new_allocator.14"* %this, %"class.boost::detail::stored_edge_iter"* %__p, i32) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.14"*, align 4
  %__p.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %.addr = alloca i32, align 4
  store %"class.__gnu_cxx::new_allocator.14"* %this, %"class.__gnu_cxx::new_allocator.14"** %this.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %__p, %"class.boost::detail::stored_edge_iter"** %__p.addr, align 4
  store i32 %0, i32* %.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.14"** %this.addr
  %1 = load %"class.boost::detail::stored_edge_iter"** %__p.addr, align 4
  %2 = bitcast %"class.boost::detail::stored_edge_iter"* %1 to i8*
  call void @_ZdlPv(i8* %2) nounwind
  ret void
}

define linkonce_odr void @_ZSt8_DestroyIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EEEvT_SD_(%"class.boost::detail::stored_edge_iter"* %__first, %"class.boost::detail::stored_edge_iter"* %__last) inlinehint {
entry:
  %__first.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__last.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  store %"class.boost::detail::stored_edge_iter"* %__first, %"class.boost::detail::stored_edge_iter"** %__first.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %__last, %"class.boost::detail::stored_edge_iter"** %__last.addr, align 4
  %0 = load %"class.boost::detail::stored_edge_iter"** %__first.addr, align 4
  %1 = load %"class.boost::detail::stored_edge_iter"** %__last.addr, align 4
  call void @_ZNSt12_Destroy_auxILb1EE9__destroyIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS2_9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEESA_EEEEvT_SF_(%"class.boost::detail::stored_edge_iter"* %0, %"class.boost::detail::stored_edge_iter"* %1)
  ret void
}

define linkonce_odr void @_ZNSt12_Destroy_auxILb1EE9__destroyIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS2_9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEESA_EEEEvT_SF_(%"class.boost::detail::stored_edge_iter"*, %"class.boost::detail::stored_edge_iter"*) nounwind align 2 {
entry:
  %.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %.addr1 = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  store %"class.boost::detail::stored_edge_iter"* %0, %"class.boost::detail::stored_edge_iter"** %.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %1, %"class.boost::detail::stored_edge_iter"** %.addr1, align 4
  ret void
}

define linkonce_odr void @_ZN5boost10scoped_ptrINS_11no_propertyEEC2EPS1_(%"class.boost::scoped_ptr"* %this, %"struct.boost::no_property"* %p) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::scoped_ptr"*, align 4
  %p.addr = alloca %"struct.boost::no_property"*, align 4
  store %"class.boost::scoped_ptr"* %this, %"class.boost::scoped_ptr"** %this.addr, align 4
  store %"struct.boost::no_property"* %p, %"struct.boost::no_property"** %p.addr, align 4
  %this1 = load %"class.boost::scoped_ptr"** %this.addr
  %px = getelementptr inbounds %"class.boost::scoped_ptr"* %this1, i32 0, i32 0
  %0 = load %"struct.boost::no_property"** %p.addr, align 4
  store %"struct.boost::no_property"* %0, %"struct.boost::no_property"** %px, align 4
  ret void
}

define linkonce_odr void @_ZNSt4listIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EEC1Ev(%"class.std::list"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::list"*, align 4
  store %"class.std::list"* %this, %"class.std::list"** %this.addr, align 4
  %this1 = load %"class.std::list"** %this.addr
  call void @_ZNSt4listIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EEC2Ev(%"class.std::list"* %this1)
  ret void
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EEC1EjRKSE_RKSF_(%"class.std::vector"* %this, i32 %__n, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__value, %"class.std::allocator.0"* %__a) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::vector"*, align 4
  %__n.addr = alloca i32, align 4
  %__value.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__a.addr = alloca %"class.std::allocator.0"*, align 4
  store %"class.std::vector"* %this, %"class.std::vector"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__value, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__value.addr, align 4
  store %"class.std::allocator.0"* %__a, %"class.std::allocator.0"** %__a.addr, align 4
  %this1 = load %"class.std::vector"** %this.addr
  %0 = load i32* %__n.addr, align 4
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__value.addr
  %2 = load %"class.std::allocator.0"** %__a.addr
  call void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EEC2EjRKSE_RKSF_(%"class.std::vector"* %this1, i32 %0, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %1, %"class.std::allocator.0"* %2)
  ret void
}

define linkonce_odr void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config13stored_vertexC1Ev(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %this, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %this.addr, align 4
  %this1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %this.addr
  call void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config13stored_vertexC2Ev(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %this1)
  ret void
}

define linkonce_odr void @_ZNSaIN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config13stored_vertexEEC1Ev(%"class.std::allocator.0"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator.0"*, align 4
  store %"class.std::allocator.0"* %this, %"class.std::allocator.0"** %this.addr, align 4
  %this1 = load %"class.std::allocator.0"** %this.addr
  call void @_ZNSaIN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config13stored_vertexEEC2Ev(%"class.std::allocator.0"* %this1) nounwind
  ret void
}

define linkonce_odr void @_ZNSaIN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config13stored_vertexEED1Ev(%"class.std::allocator.0"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator.0"*, align 4
  store %"class.std::allocator.0"* %this, %"class.std::allocator.0"** %this.addr, align 4
  %this1 = load %"class.std::allocator.0"** %this.addr
  call void @_ZNSaIN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config13stored_vertexEED2Ev(%"class.std::allocator.0"* %this1) nounwind
  ret void
}

define linkonce_odr void @_ZN5boost8add_edgeINS_14adjacency_listINS_4vecSES2_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS4_EES4_NS_5listSEEENS_6detail12adj_list_genIS9_S2_S2_S3_S4_S7_S4_S8_E6configENS_23undirected_graph_helperISD_EEEESt4pairINT0_15edge_descriptorEbENSH_17vertex_descriptorESK_RKNSH_18edge_property_typeERNS_17vec_adj_list_implIT_SH_T1_EE(%"struct.std::pair.36"* noalias sret %agg.result, i32 %u, i32 %v, %"struct.boost::property"* %p, %"class.boost::vec_adj_list_impl"* %g_) inlinehint {
entry:
  %u.addr = alloca i32, align 4
  %v.addr = alloca i32, align 4
  %p.addr = alloca %"struct.boost::property"*, align 4
  %g_.addr = alloca %"class.boost::vec_adj_list_impl"*, align 4
  %x = alloca i32, align 4
  %agg.tmp = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %g = alloca %"struct.boost::adj_list_helper"*, align 4
  store i32 %u, i32* %u.addr, align 4
  store i32 %v, i32* %v.addr, align 4
  store %"struct.boost::property"* %p, %"struct.boost::property"** %p.addr, align 4
  store %"class.boost::vec_adj_list_impl"* %g_, %"class.boost::vec_adj_list_impl"** %g_.addr, align 4
  %call = call i32* @_ZSt3maxIjERKT_S2_S2_(i32* %u.addr, i32* %v.addr)
  %0 = load i32* %call
  store i32 %0, i32* %x, align 4
  %1 = load i32* %x, align 4
  %2 = load %"class.boost::vec_adj_list_impl"** %g_.addr, align 4
  %3 = bitcast %"class.boost::vec_adj_list_impl"* %2 to %"struct.boost::adj_list_helper"*
  %call1 = call i32 @_ZN5boost12num_verticesINS_6detail12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS6_EES6_NS_5listSEEES4_S4_S5_S6_S9_S6_SA_E6configENS_23undirected_graph_helperISD_EEEENT_18vertices_size_typeERKNS_15adj_list_helperISG_T0_EE(%"struct.boost::adj_list_helper"* %3)
  %cmp = icmp uge i32 %1, %call1
  br i1 %cmp, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  %4 = load %"class.boost::vec_adj_list_impl"** %g_.addr, align 4
  %m_vertices = getelementptr inbounds %"class.boost::vec_adj_list_impl"* %4, i32 0, i32 1
  %5 = load i32* %x, align 4
  %add = add i32 %5, 1
  call void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config13stored_vertexC1Ev(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %agg.tmp)
  invoke void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE6resizeEjSE_(%"class.std::vector"* %m_vertices, i32 %add, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %agg.tmp)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %if.then
  call void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config13stored_vertexD1Ev(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %agg.tmp)
  br label %if.end

lpad:                                             ; preds = %if.then
  %6 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %7 = extractvalue { i8*, i32 } %6, 0
  store i8* %7, i8** %exn.slot
  %8 = extractvalue { i8*, i32 } %6, 1
  store i32 %8, i32* %ehselector.slot
  invoke void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config13stored_vertexD1Ev(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %agg.tmp)
          to label %invoke.cont2 unwind label %terminate.lpad

invoke.cont2:                                     ; preds = %lpad
  br label %eh.resume

if.end:                                           ; preds = %invoke.cont, %entry
  %9 = load %"class.boost::vec_adj_list_impl"** %g_.addr, align 4
  %10 = bitcast %"class.boost::vec_adj_list_impl"* %9 to %"struct.boost::adj_list_helper"*
  store %"struct.boost::adj_list_helper"* %10, %"struct.boost::adj_list_helper"** %g, align 4
  %11 = load i32* %u.addr, align 4
  %12 = load i32* %v.addr, align 4
  %13 = load %"struct.boost::property"** %p.addr, align 4
  %14 = load %"struct.boost::adj_list_helper"** %g, align 4
  %15 = bitcast %"struct.boost::adj_list_helper"* %14 to %"struct.boost::undirected_graph_helper"*
  call void @_ZN5boost8add_edgeINS_6detail12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS6_EES6_NS_5listSEEES4_S4_S5_S6_S9_S6_SA_E6configEEESt4pairINT_15edge_descriptorEbENSF_17vertex_descriptorESI_RKNSF_18edge_property_typeERNS_23undirected_graph_helperISF_EE(%"struct.std::pair.36"* sret %agg.result, i32 %11, i32 %12, %"struct.boost::property"* %13, %"struct.boost::undirected_graph_helper"* %15)
  ret void

eh.resume:                                        ; preds = %invoke.cont2
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val3 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val3

terminate.lpad:                                   ; preds = %lpad
  %16 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZN5boost8propertyINS_13edge_weight_tEiNS_11no_propertyEEC1ERKi(%"struct.boost::property"* %this, i32* %v) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::property"*, align 4
  %v.addr = alloca i32*, align 4
  store %"struct.boost::property"* %this, %"struct.boost::property"** %this.addr, align 4
  store i32* %v, i32** %v.addr, align 4
  %this1 = load %"struct.boost::property"** %this.addr
  %0 = load i32** %v.addr
  call void @_ZN5boost8propertyINS_13edge_weight_tEiNS_11no_propertyEEC2ERKi(%"struct.boost::property"* %this1, i32* %0)
  ret void
}

define linkonce_odr void @_ZN5boost8propertyINS_13edge_weight_tEiNS_11no_propertyEEC2ERKi(%"struct.boost::property"* %this, i32* %v) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::property"*, align 4
  %v.addr = alloca i32*, align 4
  store %"struct.boost::property"* %this, %"struct.boost::property"** %this.addr, align 4
  store i32* %v, i32** %v.addr, align 4
  %this1 = load %"struct.boost::property"** %this.addr
  %m_value = getelementptr inbounds %"struct.boost::property"* %this1, i32 0, i32 0
  %0 = load i32** %v.addr, align 4
  %1 = load i32* %0, align 4
  store i32 %1, i32* %m_value, align 4
  %m_base = getelementptr inbounds %"struct.boost::property"* %this1, i32 0, i32 1
  ret void
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE6resizeEjSE_(%"class.std::vector"* %this, i32 %__new_size, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__x) align 2 {
entry:
  %this.addr = alloca %"class.std::vector"*, align 4
  %__new_size.addr = alloca i32, align 4
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator.43", align 4
  store %"class.std::vector"* %this, %"class.std::vector"** %this.addr, align 4
  store i32 %__new_size, i32* %__new_size.addr, align 4
  %this1 = load %"class.std::vector"** %this.addr
  %0 = load i32* %__new_size.addr, align 4
  %call = call i32 @_ZNKSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE4sizeEv(%"class.std::vector"* %this1)
  %cmp = icmp ugt i32 %0, %call
  br i1 %cmp, label %if.then, label %if.else

if.then:                                          ; preds = %entry
  call void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE3endEv(%"class.__gnu_cxx::__normal_iterator.43"* sret %agg.tmp, %"class.std::vector"* %this1)
  %1 = load i32* %__new_size.addr, align 4
  %call2 = call i32 @_ZNKSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE4sizeEv(%"class.std::vector"* %this1)
  %sub = sub i32 %1, %call2
  call void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE6insertEN9__gnu_cxx17__normal_iteratorIPSE_SG_EEjRKSE_(%"class.std::vector"* %this1, %"class.__gnu_cxx::__normal_iterator.43"* byval align 4 %agg.tmp, i32 %sub, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__x)
  br label %if.end6

if.else:                                          ; preds = %entry
  %2 = load i32* %__new_size.addr, align 4
  %call3 = call i32 @_ZNKSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE4sizeEv(%"class.std::vector"* %this1)
  %cmp4 = icmp ult i32 %2, %call3
  br i1 %cmp4, label %if.then5, label %if.end

if.then5:                                         ; preds = %if.else
  %3 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base"* %3, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl, i32 0, i32 0
  %4 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_start, align 4
  %5 = load i32* %__new_size.addr, align 4
  %add.ptr = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %4, i32 %5
  call void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE15_M_erase_at_endEPSE_(%"class.std::vector"* %this1, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %add.ptr)
  br label %if.end

if.end:                                           ; preds = %if.then5, %if.else
  br label %if.end6

if.end6:                                          ; preds = %if.end, %if.then
  ret void
}

define linkonce_odr void @_ZN5boost8add_edgeINS_6detail12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS6_EES6_NS_5listSEEES4_S4_S5_S6_S9_S6_SA_E6configEEESt4pairINT_15edge_descriptorEbENSF_17vertex_descriptorESI_RKNSF_18edge_property_typeERNS_23undirected_graph_helperISF_EE(%"struct.std::pair.36"* noalias sret %agg.result, i32 %u, i32 %v, %"struct.boost::property"* %p, %"struct.boost::undirected_graph_helper"* %g_) inlinehint {
entry:
  %u.addr = alloca i32, align 4
  %v.addr = alloca i32, align 4
  %p.addr = alloca %"struct.boost::property"*, align 4
  %g_.addr = alloca %"struct.boost::undirected_graph_helper"*, align 4
  %g = alloca %"class.boost::adjacency_list"*, align 4
  %inserted = alloca i8, align 1
  %e = alloca %"struct.boost::list_edge", align 4
  %p_iter = alloca %"struct.std::_List_iterator", align 4
  %ref.tmp = alloca %"struct.std::pair.37", align 4
  %i = alloca %"class.__gnu_cxx::__normal_iterator.38", align 4
  %tmp = alloca %"class.boost::tuples::tuple.39", align 4
  %ref.tmp1 = alloca %"struct.std::pair.42", align 4
  %ref.tmp2 = alloca %"class.boost::detail::stored_edge_iter", align 4
  %agg.tmp = alloca %"struct.std::_List_iterator", align 4
  %ref.tmp6 = alloca %"class.boost::detail::stored_edge_iter", align 4
  %agg.tmp7 = alloca %"struct.std::_List_iterator", align 4
  %tmp9 = alloca %"struct.std::pair.42", align 4
  %agg.tmp10 = alloca %"class.boost::detail::edge_desc_impl", align 4
  %agg.tmp14 = alloca %"struct.std::_List_iterator", align 4
  %tmp15 = alloca %"struct.std::_List_iterator", align 4
  %agg.tmp16 = alloca %"class.boost::detail::edge_desc_impl", align 4
  %tmp18 = alloca %"struct.std::_List_iterator", align 4
  store i32 %u, i32* %u.addr, align 4
  store i32 %v, i32* %v.addr, align 4
  store %"struct.boost::property"* %p, %"struct.boost::property"** %p.addr, align 4
  store %"struct.boost::undirected_graph_helper"* %g_, %"struct.boost::undirected_graph_helper"** %g_.addr, align 4
  %0 = load %"struct.boost::undirected_graph_helper"** %g_.addr, align 4
  %1 = bitcast %"struct.boost::undirected_graph_helper"* %0 to %"class.boost::adjacency_list"*
  store %"class.boost::adjacency_list"* %1, %"class.boost::adjacency_list"** %g, align 4
  %2 = load i32* %u.addr, align 4
  %3 = load i32* %v.addr, align 4
  %4 = load %"struct.boost::property"** %p.addr, align 4
  call void @_ZN5boost9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEC1EjjRKS4_(%"struct.boost::list_edge"* %e, i32 %2, i32 %3, %"struct.boost::property"* %4)
  %5 = load %"class.boost::adjacency_list"** %g, align 4
  %6 = bitcast %"class.boost::adjacency_list"* %5 to %"class.boost::vec_adj_list_impl"*
  %m_edges = getelementptr inbounds %"class.boost::vec_adj_list_impl"* %6, i32 0, i32 0
  call void @_ZN5boost12graph_detail4pushISt4listINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEESaIS8_EES8_EESt4pairINT_8iteratorEbERSC_RKT0_(%"struct.std::pair.37"* sret %ref.tmp, %"class.std::list"* %m_edges, %"struct.boost::list_edge"* %e)
  %first = getelementptr inbounds %"struct.std::pair.37"* %ref.tmp, i32 0, i32 0
  %7 = bitcast %"struct.std::_List_iterator"* %p_iter to i8*
  %8 = bitcast %"struct.std::_List_iterator"* %first to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %7, i8* %8, i32 4, i32 4, i1 false)
  call void @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EESt6vectorISC_SaISC_EEEC1Ev(%"class.__gnu_cxx::__normal_iterator.38"* %i)
  call void @_ZN5boost6tuples3tieIN9__gnu_cxx17__normal_iteratorIPNS_6detail16stored_edge_iterIjSt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEESB_EESt6vectorISE_SaISE_EEEEbEENS0_6detail10tie_mapperIT_T0_vvvvvvvvE4typeERSM_RSN_(%"class.boost::tuples::tuple.39"* sret %tmp, %"class.__gnu_cxx::__normal_iterator.38"* %i, i8* %inserted)
  %9 = load %"class.boost::adjacency_list"** %g, align 4
  %10 = bitcast %"class.boost::adjacency_list"* %9 to %"class.boost::vec_adj_list_impl"*
  %11 = load i32* %u.addr, align 4
  %call = call %"class.std::vector.11"* @_ZN5boost17vec_adj_list_implINS_14adjacency_listINS_4vecSES2_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS4_EES4_NS_5listSEEENS_6detail12adj_list_genIS9_S2_S2_S3_S4_S7_S4_S8_E6configENS_23undirected_graph_helperISD_EEE13out_edge_listEj(%"class.boost::vec_adj_list_impl"* %10, i32 %11)
  %12 = load i32* %v.addr, align 4
  %13 = bitcast %"struct.std::_List_iterator"* %agg.tmp to i8*
  %14 = bitcast %"struct.std::_List_iterator"* %p_iter to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %13, i8* %14, i32 4, i32 4, i1 false)
  %15 = load %"class.boost::adjacency_list"** %g, align 4
  %16 = bitcast %"class.boost::adjacency_list"* %15 to %"class.boost::vec_adj_list_impl"*
  %m_edges3 = getelementptr inbounds %"class.boost::vec_adj_list_impl"* %16, i32 0, i32 0
  %17 = bitcast %"class.std::list"* %m_edges3 to i8*
  call void @_ZN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEES7_EC1EjS9_Pv(%"class.boost::detail::stored_edge_iter"* %ref.tmp2, i32 %12, %"struct.std::_List_iterator"* byval align 4 %agg.tmp, i8* %17)
  call void @_ZN5boost12graph_detail4pushISt6vectorINS_6detail16stored_edge_iterIjSt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEESA_EESaISD_EESD_EESt4pairINT_8iteratorEbERSH_RKT0_(%"struct.std::pair.42"* sret %ref.tmp1, %"class.std::vector.11"* %call, %"class.boost::detail::stored_edge_iter"* %ref.tmp2)
  %call4 = call %"class.boost::tuples::tuple.39"* @_ZN5boost6tuples5tupleIRN9__gnu_cxx17__normal_iteratorIPNS_6detail16stored_edge_iterIjSt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEESB_EESt6vectorISE_SaISE_EEEERbNS0_9null_typeESM_SM_SM_SM_SM_SM_SM_EaSISJ_bEERSN_RKSt4pairIT_T0_E(%"class.boost::tuples::tuple.39"* %tmp, %"struct.std::pair.42"* %ref.tmp1)
  %18 = load i8* %inserted, align 1
  %tobool = trunc i8 %18 to i1
  br i1 %tobool, label %if.then, label %if.else

if.then:                                          ; preds = %entry
  %19 = load %"class.boost::adjacency_list"** %g, align 4
  %20 = bitcast %"class.boost::adjacency_list"* %19 to %"class.boost::vec_adj_list_impl"*
  %21 = load i32* %v.addr, align 4
  %call5 = call %"class.std::vector.11"* @_ZN5boost17vec_adj_list_implINS_14adjacency_listINS_4vecSES2_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS4_EES4_NS_5listSEEENS_6detail12adj_list_genIS9_S2_S2_S3_S4_S7_S4_S8_E6configENS_23undirected_graph_helperISD_EEE13out_edge_listEj(%"class.boost::vec_adj_list_impl"* %20, i32 %21)
  %22 = load i32* %u.addr, align 4
  %23 = bitcast %"struct.std::_List_iterator"* %agg.tmp7 to i8*
  %24 = bitcast %"struct.std::_List_iterator"* %p_iter to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %23, i8* %24, i32 4, i32 4, i1 false)
  %25 = load %"class.boost::adjacency_list"** %g, align 4
  %26 = bitcast %"class.boost::adjacency_list"* %25 to %"class.boost::vec_adj_list_impl"*
  %m_edges8 = getelementptr inbounds %"class.boost::vec_adj_list_impl"* %26, i32 0, i32 0
  %27 = bitcast %"class.std::list"* %m_edges8 to i8*
  call void @_ZN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEES7_EC1EjS9_Pv(%"class.boost::detail::stored_edge_iter"* %ref.tmp6, i32 %22, %"struct.std::_List_iterator"* byval align 4 %agg.tmp7, i8* %27)
  call void @_ZN5boost12graph_detail4pushISt6vectorINS_6detail16stored_edge_iterIjSt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEESA_EESaISD_EESD_EESt4pairINT_8iteratorEbERSH_RKT0_(%"struct.std::pair.42"* sret %tmp9, %"class.std::vector.11"* %call5, %"class.boost::detail::stored_edge_iter"* %ref.tmp6)
  %28 = load i32* %u.addr, align 4
  %29 = load i32* %v.addr, align 4
  %call11 = call %"struct.boost::list_edge"* @_ZNKSt14_List_iteratorIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEEptEv(%"struct.std::_List_iterator"* %p_iter)
  %call12 = call %"struct.boost::property"* @_ZN5boost9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEE12get_propertyEv(%"struct.boost::list_edge"* %call11)
  %30 = bitcast %"struct.boost::property"* %call12 to i8*
  call void @_ZN5boost6detail14edge_desc_implINS_14undirected_tagEjEC1EjjPKv(%"class.boost::detail::edge_desc_impl"* %agg.tmp10, i32 %28, i32 %29, i8* %30)
  call void @_ZSt9make_pairIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEEbESt4pairIT_T0_ES6_S7_(%"struct.std::pair.36"* sret %agg.result, %"class.boost::detail::edge_desc_impl"* byval align 4 %agg.tmp10, i1 zeroext true)
  br label %return

if.else:                                          ; preds = %entry
  %31 = load %"class.boost::adjacency_list"** %g, align 4
  %32 = bitcast %"class.boost::adjacency_list"* %31 to %"class.boost::vec_adj_list_impl"*
  %m_edges13 = getelementptr inbounds %"class.boost::vec_adj_list_impl"* %32, i32 0, i32 0
  %33 = bitcast %"struct.std::_List_iterator"* %agg.tmp14 to i8*
  %34 = bitcast %"struct.std::_List_iterator"* %p_iter to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %33, i8* %34, i32 4, i32 4, i1 false)
  call void @_ZNSt4listIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EE5eraseESt14_List_iteratorIS6_E(%"struct.std::_List_iterator"* sret %tmp15, %"class.std::list"* %m_edges13, %"struct.std::_List_iterator"* byval align 4 %agg.tmp14)
  %35 = load i32* %u.addr, align 4
  %36 = load i32* %v.addr, align 4
  %call17 = call %"class.boost::detail::stored_edge_iter"* @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EESt6vectorISC_SaISC_EEEptEv(%"class.__gnu_cxx::__normal_iterator.38"* %i)
  call void @_ZNK5boost6detail16stored_edge_iterIjSt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEES7_E8get_iterEv(%"struct.std::_List_iterator"* sret %tmp18, %"class.boost::detail::stored_edge_iter"* %call17)
  %call19 = call %"struct.boost::list_edge"* @_ZNKSt14_List_iteratorIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEEptEv(%"struct.std::_List_iterator"* %tmp18)
  %call20 = call %"struct.boost::property"* @_ZN5boost9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEE12get_propertyEv(%"struct.boost::list_edge"* %call19)
  %37 = bitcast %"struct.boost::property"* %call20 to i8*
  call void @_ZN5boost6detail14edge_desc_implINS_14undirected_tagEjEC1EjjPKv(%"class.boost::detail::edge_desc_impl"* %agg.tmp16, i32 %35, i32 %36, i8* %37)
  call void @_ZSt9make_pairIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEEbESt4pairIT_T0_ES6_S7_(%"struct.std::pair.36"* sret %agg.result, %"class.boost::detail::edge_desc_impl"* byval align 4 %agg.tmp16, i1 zeroext false)
  br label %return

return:                                           ; preds = %if.else, %if.then
  ret void
}

define linkonce_odr void @_ZN5boost9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEC1EjjRKS4_(%"struct.boost::list_edge"* %this, i32 %u, i32 %v, %"struct.boost::property"* %p) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::list_edge"*, align 4
  %u.addr = alloca i32, align 4
  %v.addr = alloca i32, align 4
  %p.addr = alloca %"struct.boost::property"*, align 4
  store %"struct.boost::list_edge"* %this, %"struct.boost::list_edge"** %this.addr, align 4
  store i32 %u, i32* %u.addr, align 4
  store i32 %v, i32* %v.addr, align 4
  store %"struct.boost::property"* %p, %"struct.boost::property"** %p.addr, align 4
  %this1 = load %"struct.boost::list_edge"** %this.addr
  %0 = load i32* %u.addr, align 4
  %1 = load i32* %v.addr, align 4
  %2 = load %"struct.boost::property"** %p.addr
  call void @_ZN5boost9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEC2EjjRKS4_(%"struct.boost::list_edge"* %this1, i32 %0, i32 %1, %"struct.boost::property"* %2)
  ret void
}

define linkonce_odr void @_ZN5boost12graph_detail4pushISt4listINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEESaIS8_EES8_EESt4pairINT_8iteratorEbERSC_RKT0_(%"struct.std::pair.37"* noalias sret %agg.result, %"class.std::list"* %c, %"struct.boost::list_edge"* %v) {
entry:
  %c.addr = alloca %"class.std::list"*, align 4
  %v.addr = alloca %"struct.boost::list_edge"*, align 4
  %agg.tmp = alloca %"struct.boost::graph_detail::back_insertion_sequence_tag", align 4
  %ref.tmp = alloca %"struct.boost::graph_detail::list_tag", align 4
  store %"class.std::list"* %c, %"class.std::list"** %c.addr, align 4
  store %"struct.boost::list_edge"* %v, %"struct.boost::list_edge"** %v.addr, align 4
  %0 = load %"class.std::list"** %c.addr, align 4
  %1 = load %"struct.boost::list_edge"** %v.addr, align 4
  %2 = load %"class.std::list"** %c.addr, align 4
  call void @_ZN5boost12graph_detail18container_categoryINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEESaIS7_EEENS0_8list_tagERKSt4listIT_T0_E(%"struct.boost::graph_detail::list_tag"* sret %ref.tmp, %"class.std::list"* %2)
  %3 = bitcast %"struct.boost::graph_detail::list_tag"* %ref.tmp to i8**
  %vtable = load i8** %3
  %vbase.offset.ptr = getelementptr i8* %vtable, i64 -24
  %4 = bitcast i8* %vbase.offset.ptr to i32*
  %vbase.offset = load i32* %4
  %5 = bitcast %"struct.boost::graph_detail::list_tag"* %ref.tmp to i8*
  %add.ptr = getelementptr inbounds i8* %5, i32 %vbase.offset
  %6 = bitcast i8* %add.ptr to %"struct.boost::graph_detail::back_insertion_sequence_tag"*
  call void @_ZN5boost12graph_detail27back_insertion_sequence_tagC1ERKS1_(%"struct.boost::graph_detail::back_insertion_sequence_tag"* %agg.tmp, %"struct.boost::graph_detail::back_insertion_sequence_tag"* %6) nounwind
  call void @_ZN5boost12graph_detail13push_dispatchISt4listINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEESaIS8_EES8_EESt4pairINT_8iteratorEbERSC_RKT0_NS0_27back_insertion_sequence_tagE(%"struct.std::pair.37"* sret %agg.result, %"class.std::list"* %0, %"struct.boost::list_edge"* %1, %"struct.boost::graph_detail::back_insertion_sequence_tag"* %agg.tmp)
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EESt6vectorISC_SaISC_EEEC1Ev(%"class.__gnu_cxx::__normal_iterator.38"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.38"*, align 4
  store %"class.__gnu_cxx::__normal_iterator.38"* %this, %"class.__gnu_cxx::__normal_iterator.38"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.38"** %this.addr
  call void @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EESt6vectorISC_SaISC_EEEC2Ev(%"class.__gnu_cxx::__normal_iterator.38"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost6tuples3tieIN9__gnu_cxx17__normal_iteratorIPNS_6detail16stored_edge_iterIjSt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEESB_EESt6vectorISE_SaISE_EEEEbEENS0_6detail10tie_mapperIT_T0_vvvvvvvvE4typeERSM_RSN_(%"class.boost::tuples::tuple.39"* noalias sret %agg.result, %"class.__gnu_cxx::__normal_iterator.38"* %t0, i8* %t1) inlinehint {
entry:
  %t0.addr = alloca %"class.__gnu_cxx::__normal_iterator.38"*, align 4
  %t1.addr = alloca i8*, align 4
  store %"class.__gnu_cxx::__normal_iterator.38"* %t0, %"class.__gnu_cxx::__normal_iterator.38"** %t0.addr, align 4
  store i8* %t1, i8** %t1.addr, align 4
  %0 = load %"class.__gnu_cxx::__normal_iterator.38"** %t0.addr, align 4
  %1 = load i8** %t1.addr, align 4
  call void @_ZN5boost6tuples5tupleIRN9__gnu_cxx17__normal_iteratorIPNS_6detail16stored_edge_iterIjSt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEESB_EESt6vectorISE_SaISE_EEEERbNS0_9null_typeESM_SM_SM_SM_SM_SM_SM_EC1ESK_SL_(%"class.boost::tuples::tuple.39"* %agg.result, %"class.__gnu_cxx::__normal_iterator.38"* %0, i8* %1)
  ret void
}

define linkonce_odr %"class.boost::tuples::tuple.39"* @_ZN5boost6tuples5tupleIRN9__gnu_cxx17__normal_iteratorIPNS_6detail16stored_edge_iterIjSt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEESB_EESt6vectorISE_SaISE_EEEERbNS0_9null_typeESM_SM_SM_SM_SM_SM_SM_EaSISJ_bEERSN_RKSt4pairIT_T0_E(%"class.boost::tuples::tuple.39"* %this, %"struct.std::pair.42"* %k) nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::tuples::tuple.39"*, align 4
  %k.addr = alloca %"struct.std::pair.42"*, align 4
  store %"class.boost::tuples::tuple.39"* %this, %"class.boost::tuples::tuple.39"** %this.addr, align 4
  store %"struct.std::pair.42"* %k, %"struct.std::pair.42"** %k.addr, align 4
  %this1 = load %"class.boost::tuples::tuple.39"** %this.addr
  %0 = bitcast %"class.boost::tuples::tuple.39"* %this1 to %"struct.boost::tuples::cons.40"*
  %head = getelementptr inbounds %"struct.boost::tuples::cons.40"* %0, i32 0, i32 0
  %ref = load %"class.__gnu_cxx::__normal_iterator.38"** %head, align 4
  %1 = load %"struct.std::pair.42"** %k.addr, align 4
  %first = getelementptr inbounds %"struct.std::pair.42"* %1, i32 0, i32 0
  %2 = bitcast %"class.__gnu_cxx::__normal_iterator.38"* %ref to i8*
  %3 = bitcast %"class.__gnu_cxx::__normal_iterator.38"* %first to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %2, i8* %3, i32 4, i32 4, i1 false)
  %4 = load %"struct.std::pair.42"** %k.addr, align 4
  %second = getelementptr inbounds %"struct.std::pair.42"* %4, i32 0, i32 1
  %5 = load i8* %second, align 1
  %tobool = trunc i8 %5 to i1
  %6 = bitcast %"class.boost::tuples::tuple.39"* %this1 to %"struct.boost::tuples::cons.40"*
  %tail = getelementptr inbounds %"struct.boost::tuples::cons.40"* %6, i32 0, i32 1
  %head2 = getelementptr inbounds %"struct.boost::tuples::cons.41"* %tail, i32 0, i32 0
  %ref3 = load i8** %head2, align 4
  %frombool = zext i1 %tobool to i8
  store i8 %frombool, i8* %ref3, align 1
  ret %"class.boost::tuples::tuple.39"* %this1
}

define linkonce_odr void @_ZN5boost12graph_detail4pushISt6vectorINS_6detail16stored_edge_iterIjSt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEESA_EESaISD_EESD_EESt4pairINT_8iteratorEbERSH_RKT0_(%"struct.std::pair.42"* noalias sret %agg.result, %"class.std::vector.11"* %c, %"class.boost::detail::stored_edge_iter"* %v) {
entry:
  %c.addr = alloca %"class.std::vector.11"*, align 4
  %v.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %agg.tmp = alloca %"struct.boost::graph_detail::back_insertion_sequence_tag", align 4
  %ref.tmp = alloca %"struct.boost::graph_detail::vector_tag", align 4
  store %"class.std::vector.11"* %c, %"class.std::vector.11"** %c.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %v, %"class.boost::detail::stored_edge_iter"** %v.addr, align 4
  %0 = load %"class.std::vector.11"** %c.addr, align 4
  %1 = load %"class.boost::detail::stored_edge_iter"** %v.addr, align 4
  %2 = load %"class.std::vector.11"** %c.addr, align 4
  call void @_ZN5boost12graph_detail18container_categoryINS_6detail16stored_edge_iterIjSt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEES9_EESaISC_EEENS0_10vector_tagERKSt6vectorIT_T0_E(%"struct.boost::graph_detail::vector_tag"* sret %ref.tmp, %"class.std::vector.11"* %2)
  %3 = bitcast %"struct.boost::graph_detail::vector_tag"* %ref.tmp to i8**
  %vtable = load i8** %3
  %vbase.offset.ptr = getelementptr i8* %vtable, i64 -28
  %4 = bitcast i8* %vbase.offset.ptr to i32*
  %vbase.offset = load i32* %4
  %5 = bitcast %"struct.boost::graph_detail::vector_tag"* %ref.tmp to i8*
  %add.ptr = getelementptr inbounds i8* %5, i32 %vbase.offset
  %6 = bitcast i8* %add.ptr to %"struct.boost::graph_detail::back_insertion_sequence_tag"*
  call void @_ZN5boost12graph_detail27back_insertion_sequence_tagC1ERKS1_(%"struct.boost::graph_detail::back_insertion_sequence_tag"* %agg.tmp, %"struct.boost::graph_detail::back_insertion_sequence_tag"* %6) nounwind
  call void @_ZN5boost12graph_detail13push_dispatchISt6vectorINS_6detail16stored_edge_iterIjSt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEESA_EESaISD_EESD_EESt4pairINT_8iteratorEbERSH_RKT0_NS0_27back_insertion_sequence_tagE(%"struct.std::pair.42"* sret %agg.result, %"class.std::vector.11"* %0, %"class.boost::detail::stored_edge_iter"* %1, %"struct.boost::graph_detail::back_insertion_sequence_tag"* %agg.tmp)
  ret void
}

define linkonce_odr %"class.std::vector.11"* @_ZN5boost17vec_adj_list_implINS_14adjacency_listINS_4vecSES2_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS4_EES4_NS_5listSEEENS_6detail12adj_list_genIS9_S2_S2_S3_S4_S7_S4_S8_E6configENS_23undirected_graph_helperISD_EEE13out_edge_listEj(%"class.boost::vec_adj_list_impl"* %this, i32 %v) inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::vec_adj_list_impl"*, align 4
  %v.addr = alloca i32, align 4
  store %"class.boost::vec_adj_list_impl"* %this, %"class.boost::vec_adj_list_impl"** %this.addr, align 4
  store i32 %v, i32* %v.addr, align 4
  %this1 = load %"class.boost::vec_adj_list_impl"** %this.addr
  %m_vertices = getelementptr inbounds %"class.boost::vec_adj_list_impl"* %this1, i32 0, i32 1
  %0 = load i32* %v.addr, align 4
  %call = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EEixEj(%"class.std::vector"* %m_vertices, i32 %0)
  %1 = bitcast %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %call to %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"*
  %m_out_edges = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"* %1, i32 0, i32 0
  ret %"class.std::vector.11"* %m_out_edges
}

define linkonce_odr void @_ZN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEES7_EC1EjS9_Pv(%"class.boost::detail::stored_edge_iter"* %this, i32 %v, %"struct.std::_List_iterator"* byval align 4 %i, i8*) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %v.addr = alloca i32, align 4
  %.addr = alloca i8*, align 4
  store %"class.boost::detail::stored_edge_iter"* %this, %"class.boost::detail::stored_edge_iter"** %this.addr, align 4
  store i32 %v, i32* %v.addr, align 4
  store i8* %0, i8** %.addr, align 4
  %this1 = load %"class.boost::detail::stored_edge_iter"** %this.addr
  %1 = load i32* %v.addr, align 4
  %2 = load i8** %.addr, align 4
  call void @_ZN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEES7_EC2EjS9_Pv(%"class.boost::detail::stored_edge_iter"* %this1, i32 %1, %"struct.std::_List_iterator"* byval align 4 %i, i8* %2)
  ret void
}

define linkonce_odr void @_ZSt9make_pairIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEEbESt4pairIT_T0_ES6_S7_(%"struct.std::pair.36"* noalias sret %agg.result, %"class.boost::detail::edge_desc_impl"* byval align 4 %__x, i1 zeroext %__y) inlinehint {
entry:
  %__y.addr = alloca i8, align 1
  %frombool = zext i1 %__y to i8
  store i8 %frombool, i8* %__y.addr, align 1
  call void @_ZNSt4pairIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEEbEC1ERKS4_RKb(%"struct.std::pair.36"* %agg.result, %"class.boost::detail::edge_desc_impl"* %__x, i8* %__y.addr)
  ret void
}

define linkonce_odr void @_ZNSt4listIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EE5eraseESt14_List_iteratorIS6_E(%"struct.std::_List_iterator"* noalias sret %agg.result, %"class.std::list"* %this, %"struct.std::_List_iterator"* byval align 4 %__position) align 2 {
entry:
  %this.addr = alloca %"class.std::list"*, align 4
  %agg.tmp = alloca %"struct.std::_List_iterator", align 4
  store %"class.std::list"* %this, %"class.std::list"** %this.addr, align 4
  %this1 = load %"class.std::list"** %this.addr
  %_M_node = getelementptr inbounds %"struct.std::_List_iterator"* %__position, i32 0, i32 0
  %0 = load %"struct.std::__detail::_List_node_base"** %_M_node, align 4
  %_M_next = getelementptr inbounds %"struct.std::__detail::_List_node_base"* %0, i32 0, i32 0
  %1 = load %"struct.std::__detail::_List_node_base"** %_M_next, align 4
  call void @_ZNSt14_List_iteratorIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEEC1EPNSt8__detail15_List_node_baseE(%"struct.std::_List_iterator"* %agg.result, %"struct.std::__detail::_List_node_base"* %1)
  %2 = bitcast %"struct.std::_List_iterator"* %agg.tmp to i8*
  %3 = bitcast %"struct.std::_List_iterator"* %__position to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %2, i8* %3, i32 4, i32 4, i1 false)
  call void @_ZNSt4listIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EE8_M_eraseESt14_List_iteratorIS6_E(%"class.std::list"* %this1, %"struct.std::_List_iterator"* byval align 4 %agg.tmp)
  ret void
}

define linkonce_odr %"class.boost::detail::stored_edge_iter"* @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EESt6vectorISC_SaISC_EEEptEv(%"class.__gnu_cxx::__normal_iterator.38"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.38"*, align 4
  store %"class.__gnu_cxx::__normal_iterator.38"* %this, %"class.__gnu_cxx::__normal_iterator.38"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.38"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.38"* %this1, i32 0, i32 0
  %0 = load %"class.boost::detail::stored_edge_iter"** %_M_current, align 4
  ret %"class.boost::detail::stored_edge_iter"* %0
}

define linkonce_odr void @_ZNK5boost6detail16stored_edge_iterIjSt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEES7_E8get_iterEv(%"struct.std::_List_iterator"* noalias sret %agg.result, %"class.boost::detail::stored_edge_iter"* %this) nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  store %"class.boost::detail::stored_edge_iter"* %this, %"class.boost::detail::stored_edge_iter"** %this.addr, align 4
  %this1 = load %"class.boost::detail::stored_edge_iter"** %this.addr
  %m_iter = getelementptr inbounds %"class.boost::detail::stored_edge_iter"* %this1, i32 0, i32 1
  %0 = bitcast %"struct.std::_List_iterator"* %agg.result to i8*
  %1 = bitcast %"struct.std::_List_iterator"* %m_iter to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 4, i32 4, i1 false)
  ret void
}

define linkonce_odr void @_ZNSt4listIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EE8_M_eraseESt14_List_iteratorIS6_E(%"class.std::list"* %this, %"struct.std::_List_iterator"* byval align 4 %__position) align 2 {
entry:
  %this.addr = alloca %"class.std::list"*, align 4
  %__n = alloca %"struct.std::_List_node"*, align 4
  %temp.lvalue = alloca %"class.std::allocator.33", align 1
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.std::list"* %this, %"class.std::list"** %this.addr, align 4
  %this1 = load %"class.std::list"** %this.addr
  %_M_node = getelementptr inbounds %"struct.std::_List_iterator"* %__position, i32 0, i32 0
  %0 = load %"struct.std::__detail::_List_node_base"** %_M_node, align 4
  call void @_ZNSt8__detail15_List_node_base9_M_unhookEv(%"struct.std::__detail::_List_node_base"* %0) nounwind
  %_M_node2 = getelementptr inbounds %"struct.std::_List_iterator"* %__position, i32 0, i32 0
  %1 = load %"struct.std::__detail::_List_node_base"** %_M_node2, align 4
  %2 = bitcast %"struct.std::__detail::_List_node_base"* %1 to %"struct.std::_List_node"*
  store %"struct.std::_List_node"* %2, %"struct.std::_List_node"** %__n, align 4
  %3 = bitcast %"class.std::list"* %this1 to %"class.std::_List_base"*
  call void @_ZNKSt10_List_baseIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EE19_M_get_Tp_allocatorEv(%"class.std::allocator.33"* sret %temp.lvalue, %"class.std::_List_base"* %3)
  %4 = bitcast %"class.std::allocator.33"* %temp.lvalue to %"class.__gnu_cxx::new_allocator.34"*
  %5 = load %"struct.std::_List_node"** %__n, align 4
  %_M_data = getelementptr inbounds %"struct.std::_List_node"* %5, i32 0, i32 1
  %call = invoke %"struct.boost::list_edge"* @_ZSt11__addressofIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEEPT_RS7_(%"struct.boost::list_edge"* %_M_data)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  invoke void @_ZN9__gnu_cxx13new_allocatorIN5boost9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEE7destroyEPS7_(%"class.__gnu_cxx::new_allocator.34"* %4, %"struct.boost::list_edge"* %call)
          to label %invoke.cont3 unwind label %lpad

invoke.cont3:                                     ; preds = %invoke.cont
  call void @_ZNSaIN5boost9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEED1Ev(%"class.std::allocator.33"* %temp.lvalue) nounwind
  %6 = bitcast %"class.std::list"* %this1 to %"class.std::_List_base"*
  %7 = load %"struct.std::_List_node"** %__n, align 4
  call void @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EE11_M_put_nodeEPSt10_List_nodeIS6_E(%"class.std::_List_base"* %6, %"struct.std::_List_node"* %7)
  ret void

lpad:                                             ; preds = %invoke.cont, %entry
  %8 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %9 = extractvalue { i8*, i32 } %8, 0
  store i8* %9, i8** %exn.slot
  %10 = extractvalue { i8*, i32 } %8, 1
  store i32 %10, i32* %ehselector.slot
  call void @_ZNSaIN5boost9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEED1Ev(%"class.std::allocator.33"* %temp.lvalue) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val4 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val4
}

declare void @_ZNSt8__detail15_List_node_base9_M_unhookEv(%"struct.std::__detail::_List_node_base"*) nounwind

define linkonce_odr void @_ZNSt4pairIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEEbEC1ERKS4_RKb(%"struct.std::pair.36"* %this, %"class.boost::detail::edge_desc_impl"* %__a, i8* %__b) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::pair.36"*, align 4
  %__a.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %__b.addr = alloca i8*, align 4
  store %"struct.std::pair.36"* %this, %"struct.std::pair.36"** %this.addr, align 4
  store %"class.boost::detail::edge_desc_impl"* %__a, %"class.boost::detail::edge_desc_impl"** %__a.addr, align 4
  store i8* %__b, i8** %__b.addr, align 4
  %this1 = load %"struct.std::pair.36"** %this.addr
  %0 = load i8** %__b.addr
  %1 = load %"class.boost::detail::edge_desc_impl"** %__a.addr
  call void @_ZNSt4pairIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEEbEC2ERKS4_RKb(%"struct.std::pair.36"* %this1, %"class.boost::detail::edge_desc_impl"* %1, i8* %0)
  ret void
}

define linkonce_odr void @_ZNSt4pairIN5boost6detail14edge_desc_implINS0_14undirected_tagEjEEbEC2ERKS4_RKb(%"struct.std::pair.36"* %this, %"class.boost::detail::edge_desc_impl"* %__a, i8* %__b) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::pair.36"*, align 4
  %__a.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %__b.addr = alloca i8*, align 4
  store %"struct.std::pair.36"* %this, %"struct.std::pair.36"** %this.addr, align 4
  store %"class.boost::detail::edge_desc_impl"* %__a, %"class.boost::detail::edge_desc_impl"** %__a.addr, align 4
  store i8* %__b, i8** %__b.addr, align 4
  %this1 = load %"struct.std::pair.36"** %this.addr
  %first = getelementptr inbounds %"struct.std::pair.36"* %this1, i32 0, i32 0
  %0 = load %"class.boost::detail::edge_desc_impl"** %__a.addr, align 4
  %1 = bitcast %"class.boost::detail::edge_desc_impl"* %first to i8*
  %2 = bitcast %"class.boost::detail::edge_desc_impl"* %0 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1, i8* %2, i32 12, i32 4, i1 false)
  %second = getelementptr inbounds %"struct.std::pair.36"* %this1, i32 0, i32 1
  %3 = load i8** %__b.addr, align 4
  %4 = load i8* %3, align 1
  %tobool = trunc i8 %4 to i1
  %frombool = zext i1 %tobool to i8
  store i8 %frombool, i8* %second, align 1
  ret void
}

define linkonce_odr void @_ZN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEES7_EC2EjS9_Pv(%"class.boost::detail::stored_edge_iter"* %this, i32 %v, %"struct.std::_List_iterator"* byval align 4 %i, i8*) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %v.addr = alloca i32, align 4
  %.addr = alloca i8*, align 4
  %ref.tmp = alloca %"struct.boost::no_property", align 1
  store %"class.boost::detail::stored_edge_iter"* %this, %"class.boost::detail::stored_edge_iter"** %this.addr, align 4
  store i32 %v, i32* %v.addr, align 4
  store i8* %0, i8** %.addr, align 4
  %this1 = load %"class.boost::detail::stored_edge_iter"** %this.addr
  %1 = bitcast %"class.boost::detail::stored_edge_iter"* %this1 to %"class.boost::detail::stored_edge"*
  %2 = load i32* %v.addr, align 4
  call void @_ZN5boost6detail11stored_edgeIjEC2EjRKNS_11no_propertyE(%"class.boost::detail::stored_edge"* %1, i32 %2, %"struct.boost::no_property"* %ref.tmp)
  %m_iter = getelementptr inbounds %"class.boost::detail::stored_edge_iter"* %this1, i32 0, i32 1
  %3 = bitcast %"struct.std::_List_iterator"* %m_iter to i8*
  %4 = bitcast %"struct.std::_List_iterator"* %i to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* %4, i32 4, i32 4, i1 false)
  ret void
}

define linkonce_odr void @_ZN5boost6detail11stored_edgeIjEC2EjRKNS_11no_propertyE(%"class.boost::detail::stored_edge"* %this, i32 %target, %"struct.boost::no_property"*) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::stored_edge"*, align 4
  %target.addr = alloca i32, align 4
  %.addr = alloca %"struct.boost::no_property"*, align 4
  store %"class.boost::detail::stored_edge"* %this, %"class.boost::detail::stored_edge"** %this.addr, align 4
  store i32 %target, i32* %target.addr, align 4
  store %"struct.boost::no_property"* %0, %"struct.boost::no_property"** %.addr, align 4
  %this1 = load %"class.boost::detail::stored_edge"** %this.addr
  %1 = bitcast %"class.boost::detail::stored_edge"* %this1 to %"struct.boost::equality_comparable1"*
  %m_target = getelementptr inbounds %"class.boost::detail::stored_edge"* %this1, i32 0, i32 0
  %2 = load i32* %target.addr, align 4
  store i32 %2, i32* %m_target, align 4
  ret void
}

define linkonce_odr %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EEixEj(%"class.std::vector"* %this, i32 %__n) nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::vector"*, align 4
  %__n.addr = alloca i32, align 4
  store %"class.std::vector"* %this, %"class.std::vector"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  %this1 = load %"class.std::vector"** %this.addr
  %0 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base"* %0, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl, i32 0, i32 0
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_start, align 4
  %2 = load i32* %__n.addr, align 4
  %add.ptr = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %1, i32 %2
  ret %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %add.ptr
}

define linkonce_odr void @_ZN5boost12graph_detail13push_dispatchISt6vectorINS_6detail16stored_edge_iterIjSt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEESA_EESaISD_EESD_EESt4pairINT_8iteratorEbERSH_RKT0_NS0_27back_insertion_sequence_tagE(%"struct.std::pair.42"* noalias sret %agg.result, %"class.std::vector.11"* %c, %"class.boost::detail::stored_edge_iter"* %v, %"struct.boost::graph_detail::back_insertion_sequence_tag"*) {
entry:
  %c.addr = alloca %"class.std::vector.11"*, align 4
  %v.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator.38", align 4
  %agg.tmp1 = alloca %"class.__gnu_cxx::__normal_iterator.38", align 4
  store %"class.std::vector.11"* %c, %"class.std::vector.11"** %c.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %v, %"class.boost::detail::stored_edge_iter"** %v.addr, align 4
  %1 = load %"class.std::vector.11"** %c.addr, align 4
  %2 = load %"class.boost::detail::stored_edge_iter"** %v.addr, align 4
  call void @_ZNSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE9push_backERKSB_(%"class.std::vector.11"* %1, %"class.boost::detail::stored_edge_iter"* %2)
  %3 = load %"class.std::vector.11"** %c.addr, align 4
  call void @_ZNSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE3endEv(%"class.__gnu_cxx::__normal_iterator.38"* sret %agg.tmp1, %"class.std::vector.11"* %3)
  call void @_ZN5boost5priorIN9__gnu_cxx17__normal_iteratorIPNS_6detail16stored_edge_iterIjSt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEESA_EESt6vectorISD_SaISD_EEEEEET_SJ_(%"class.__gnu_cxx::__normal_iterator.38"* sret %agg.tmp, %"class.__gnu_cxx::__normal_iterator.38"* byval align 4 %agg.tmp1)
  call void @_ZSt9make_pairIN9__gnu_cxx17__normal_iteratorIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS2_9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEESA_EESt6vectorISD_SaISD_EEEEbESt4pairIT_T0_ESK_SL_(%"struct.std::pair.42"* sret %agg.result, %"class.__gnu_cxx::__normal_iterator.38"* byval align 4 %agg.tmp, i1 zeroext true)
  ret void
}

define linkonce_odr void @_ZN5boost12graph_detail27back_insertion_sequence_tagC1ERKS1_(%"struct.boost::graph_detail::back_insertion_sequence_tag"* %this, %"struct.boost::graph_detail::back_insertion_sequence_tag"*) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::graph_detail::back_insertion_sequence_tag"*, align 4
  %.addr = alloca %"struct.boost::graph_detail::back_insertion_sequence_tag"*, align 4
  store %"struct.boost::graph_detail::back_insertion_sequence_tag"* %this, %"struct.boost::graph_detail::back_insertion_sequence_tag"** %this.addr, align 4
  store %"struct.boost::graph_detail::back_insertion_sequence_tag"* %0, %"struct.boost::graph_detail::back_insertion_sequence_tag"** %.addr, align 4
  %this1 = load %"struct.boost::graph_detail::back_insertion_sequence_tag"** %this.addr
  %1 = bitcast %"struct.boost::graph_detail::back_insertion_sequence_tag"* %this1 to %"struct.boost::graph_detail::container_tag"*
  %2 = load %"struct.boost::graph_detail::back_insertion_sequence_tag"** %.addr, align 4
  %3 = bitcast %"struct.boost::graph_detail::back_insertion_sequence_tag"* %2 to i8**
  %vtable = load i8** %3
  %vbase.offset.ptr = getelementptr i8* %vtable, i64 -12
  %4 = bitcast i8* %vbase.offset.ptr to i32*
  %vbase.offset = load i32* %4
  %5 = bitcast %"struct.boost::graph_detail::back_insertion_sequence_tag"* %2 to i8*
  %add.ptr = getelementptr inbounds i8* %5, i32 %vbase.offset
  %6 = bitcast i8* %add.ptr to %"struct.boost::graph_detail::container_tag"*
  %7 = bitcast %"struct.boost::graph_detail::back_insertion_sequence_tag"* %this1 to %"struct.boost::graph_detail::forward_container_tag"*
  %8 = load %"struct.boost::graph_detail::back_insertion_sequence_tag"** %.addr, align 4
  %9 = bitcast %"struct.boost::graph_detail::back_insertion_sequence_tag"* %8 to i8**
  %vtable2 = load i8** %9
  %vbase.offset.ptr3 = getelementptr i8* %vtable2, i64 -16
  %10 = bitcast i8* %vbase.offset.ptr3 to i32*
  %vbase.offset4 = load i32* %10
  %11 = bitcast %"struct.boost::graph_detail::back_insertion_sequence_tag"* %8 to i8*
  %add.ptr5 = getelementptr inbounds i8* %11, i32 %vbase.offset4
  %12 = bitcast i8* %add.ptr5 to %"struct.boost::graph_detail::forward_container_tag"*
  call void @_ZN5boost12graph_detail21forward_container_tagC2ERKS1_(%"struct.boost::graph_detail::forward_container_tag"* %7, i8** getelementptr inbounds ([6 x i8*]* @_ZTTN5boost12graph_detail27back_insertion_sequence_tagE, i64 0, i64 5), %"struct.boost::graph_detail::forward_container_tag"* %12) nounwind
  %13 = bitcast %"struct.boost::graph_detail::back_insertion_sequence_tag"* %this1 to %"struct.boost::graph_detail::sequence_tag"*
  %14 = load %"struct.boost::graph_detail::back_insertion_sequence_tag"** %.addr, align 4
  %15 = bitcast %"struct.boost::graph_detail::back_insertion_sequence_tag"* %14 to i8**
  %vtable6 = load i8** %15
  %vbase.offset.ptr7 = getelementptr i8* %vtable6, i64 -20
  %16 = bitcast i8* %vbase.offset.ptr7 to i32*
  %vbase.offset8 = load i32* %16
  %17 = bitcast %"struct.boost::graph_detail::back_insertion_sequence_tag"* %14 to i8*
  %add.ptr9 = getelementptr inbounds i8* %17, i32 %vbase.offset8
  %18 = bitcast i8* %add.ptr9 to %"struct.boost::graph_detail::sequence_tag"*
  call void @_ZN5boost12graph_detail12sequence_tagC2ERKS1_(%"struct.boost::graph_detail::sequence_tag"* %13, i8** getelementptr inbounds ([6 x i8*]* @_ZTTN5boost12graph_detail27back_insertion_sequence_tagE, i64 0, i64 3), %"struct.boost::graph_detail::sequence_tag"* %18) nounwind
  %19 = bitcast %"struct.boost::graph_detail::back_insertion_sequence_tag"* %this1 to i8***
  store i8** getelementptr inbounds ([5 x i8*]* @_ZTVN5boost12graph_detail27back_insertion_sequence_tagE, i64 1, i64 0), i8*** %19
  %20 = bitcast %"struct.boost::graph_detail::back_insertion_sequence_tag"* %this1 to i8***
  store i8** getelementptr inbounds ([5 x i8*]* @_ZTVN5boost12graph_detail27back_insertion_sequence_tagE, i64 1, i64 0), i8*** %20
  %21 = bitcast %"struct.boost::graph_detail::back_insertion_sequence_tag"* %this1 to i8***
  store i8** getelementptr inbounds ([5 x i8*]* @_ZTVN5boost12graph_detail27back_insertion_sequence_tagE, i64 1, i64 0), i8*** %21
  ret void
}

define linkonce_odr void @_ZN5boost12graph_detail18container_categoryINS_6detail16stored_edge_iterIjSt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEES9_EESaISC_EEENS0_10vector_tagERKSt6vectorIT_T0_E(%"struct.boost::graph_detail::vector_tag"* noalias sret %agg.result, %"class.std::vector.11"*) nounwind {
entry:
  %.addr = alloca %"class.std::vector.11"*, align 4
  store %"class.std::vector.11"* %0, %"class.std::vector.11"** %.addr, align 4
  %1 = bitcast %"struct.boost::graph_detail::vector_tag"* %agg.result to i8*
  call void @llvm.memset.p0i8.i32(i8* %1, i8 0, i32 8, i32 4, i1 false)
  call void @_ZN5boost12graph_detail10vector_tagC1Ev(%"struct.boost::graph_detail::vector_tag"* %agg.result) nounwind
  ret void
}

declare void @llvm.memset.p0i8.i32(i8* nocapture, i8, i32, i32, i1) nounwind

define linkonce_odr void @_ZN5boost12graph_detail10vector_tagC1Ev(%"struct.boost::graph_detail::vector_tag"* %this) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::graph_detail::vector_tag"*, align 4
  store %"struct.boost::graph_detail::vector_tag"* %this, %"struct.boost::graph_detail::vector_tag"** %this.addr, align 4
  %this1 = load %"struct.boost::graph_detail::vector_tag"** %this.addr
  %0 = bitcast %"struct.boost::graph_detail::vector_tag"* %this1 to %"struct.boost::graph_detail::container_tag"*
  %1 = bitcast %"struct.boost::graph_detail::vector_tag"* %this1 to %"struct.boost::graph_detail::forward_container_tag"*
  call void @_ZN5boost12graph_detail21forward_container_tagC2Ev(%"struct.boost::graph_detail::forward_container_tag"* %1, i8** getelementptr inbounds ([17 x i8*]* @_ZTTN5boost12graph_detail10vector_tagE, i64 0, i64 11)) nounwind
  %2 = bitcast %"struct.boost::graph_detail::vector_tag"* %this1 to %"struct.boost::graph_detail::reversible_container_tag"*
  call void @_ZN5boost12graph_detail24reversible_container_tagC2Ev(%"struct.boost::graph_detail::reversible_container_tag"* %2, i8** getelementptr inbounds ([17 x i8*]* @_ZTTN5boost12graph_detail10vector_tagE, i64 0, i64 9)) nounwind
  %3 = bitcast %"struct.boost::graph_detail::vector_tag"* %this1 to %"struct.boost::graph_detail::random_access_container_tag"*
  call void @_ZN5boost12graph_detail27random_access_container_tagC2Ev(%"struct.boost::graph_detail::random_access_container_tag"* %3, i8** getelementptr inbounds ([17 x i8*]* @_ZTTN5boost12graph_detail10vector_tagE, i64 0, i64 6)) nounwind
  %4 = bitcast %"struct.boost::graph_detail::vector_tag"* %this1 to i8*
  %5 = getelementptr inbounds i8* %4, i64 4
  %6 = bitcast i8* %5 to %"struct.boost::graph_detail::sequence_tag"*
  call void @_ZN5boost12graph_detail12sequence_tagC2Ev(%"struct.boost::graph_detail::sequence_tag"* %6, i8** getelementptr inbounds ([17 x i8*]* @_ZTTN5boost12graph_detail10vector_tagE, i64 0, i64 15)) nounwind
  %7 = bitcast %"struct.boost::graph_detail::vector_tag"* %this1 to i8*
  %8 = getelementptr inbounds i8* %7, i64 4
  %9 = bitcast i8* %8 to %"struct.boost::graph_detail::back_insertion_sequence_tag"*
  call void @_ZN5boost12graph_detail27back_insertion_sequence_tagC2Ev(%"struct.boost::graph_detail::back_insertion_sequence_tag"* %9, i8** getelementptr inbounds ([17 x i8*]* @_ZTTN5boost12graph_detail10vector_tagE, i64 0, i64 12)) nounwind
  %10 = bitcast %"struct.boost::graph_detail::vector_tag"* %this1 to i8***
  store i8** getelementptr inbounds ([13 x i8*]* @_ZTVN5boost12graph_detail10vector_tagE, i64 0, i64 8), i8*** %10
  %11 = bitcast %"struct.boost::graph_detail::vector_tag"* %this1 to i8***
  store i8** getelementptr inbounds ([13 x i8*]* @_ZTVN5boost12graph_detail10vector_tagE, i64 0, i64 8), i8*** %11
  %12 = bitcast %"struct.boost::graph_detail::vector_tag"* %this1 to i8***
  store i8** getelementptr inbounds ([13 x i8*]* @_ZTVN5boost12graph_detail10vector_tagE, i64 0, i64 8), i8*** %12
  %13 = bitcast %"struct.boost::graph_detail::vector_tag"* %this1 to i8***
  store i8** getelementptr inbounds ([13 x i8*]* @_ZTVN5boost12graph_detail10vector_tagE, i64 0, i64 8), i8*** %13
  %14 = bitcast %"struct.boost::graph_detail::vector_tag"* %this1 to i8*
  %add.ptr = getelementptr inbounds i8* %14, i32 4
  %15 = bitcast i8* %add.ptr to i8***
  store i8** getelementptr inbounds ([13 x i8*]* @_ZTVN5boost12graph_detail10vector_tagE, i64 1, i64 0), i8*** %15
  %16 = bitcast %"struct.boost::graph_detail::vector_tag"* %this1 to i8*
  %add.ptr2 = getelementptr inbounds i8* %16, i32 4
  %17 = bitcast i8* %add.ptr2 to i8***
  store i8** getelementptr inbounds ([13 x i8*]* @_ZTVN5boost12graph_detail10vector_tagE, i64 1, i64 0), i8*** %17
  ret void
}

define linkonce_odr void @_ZN5boost12graph_detail21forward_container_tagC2Ev(%"struct.boost::graph_detail::forward_container_tag"* %this, i8** %vtt) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::graph_detail::forward_container_tag"*, align 4
  %vtt.addr = alloca i8**, align 4
  store %"struct.boost::graph_detail::forward_container_tag"* %this, %"struct.boost::graph_detail::forward_container_tag"** %this.addr, align 4
  store i8** %vtt, i8*** %vtt.addr, align 4
  %this1 = load %"struct.boost::graph_detail::forward_container_tag"** %this.addr
  %vtt2 = load i8*** %vtt.addr
  %0 = load i8** %vtt2
  %1 = bitcast %"struct.boost::graph_detail::forward_container_tag"* %this1 to i8**
  store i8* %0, i8** %1
  ret void
}

define linkonce_odr void @_ZN5boost12graph_detail24reversible_container_tagC2Ev(%"struct.boost::graph_detail::reversible_container_tag"* %this, i8** %vtt) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::graph_detail::reversible_container_tag"*, align 4
  %vtt.addr = alloca i8**, align 4
  store %"struct.boost::graph_detail::reversible_container_tag"* %this, %"struct.boost::graph_detail::reversible_container_tag"** %this.addr, align 4
  store i8** %vtt, i8*** %vtt.addr, align 4
  %this1 = load %"struct.boost::graph_detail::reversible_container_tag"** %this.addr
  %vtt2 = load i8*** %vtt.addr
  %0 = load i8** %vtt2
  %1 = bitcast %"struct.boost::graph_detail::reversible_container_tag"* %this1 to i8**
  store i8* %0, i8** %1
  %2 = getelementptr inbounds i8** %vtt2, i64 1
  %3 = load i8** %2
  %4 = bitcast %"struct.boost::graph_detail::reversible_container_tag"* %this1 to i8**
  %vtable = load i8** %4
  %vbase.offset.ptr = getelementptr i8* %vtable, i64 -16
  %5 = bitcast i8* %vbase.offset.ptr to i32*
  %vbase.offset = load i32* %5
  %6 = bitcast %"struct.boost::graph_detail::reversible_container_tag"* %this1 to i8*
  %add.ptr = getelementptr inbounds i8* %6, i32 %vbase.offset
  %7 = bitcast i8* %add.ptr to i8**
  store i8* %3, i8** %7
  ret void
}

define linkonce_odr void @_ZN5boost12graph_detail27random_access_container_tagC2Ev(%"struct.boost::graph_detail::random_access_container_tag"* %this, i8** %vtt) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::graph_detail::random_access_container_tag"*, align 4
  %vtt.addr = alloca i8**, align 4
  store %"struct.boost::graph_detail::random_access_container_tag"* %this, %"struct.boost::graph_detail::random_access_container_tag"** %this.addr, align 4
  store i8** %vtt, i8*** %vtt.addr, align 4
  %this1 = load %"struct.boost::graph_detail::random_access_container_tag"** %this.addr
  %vtt2 = load i8*** %vtt.addr
  %0 = load i8** %vtt2
  %1 = bitcast %"struct.boost::graph_detail::random_access_container_tag"* %this1 to i8**
  store i8* %0, i8** %1
  %2 = getelementptr inbounds i8** %vtt2, i64 1
  %3 = load i8** %2
  %4 = bitcast %"struct.boost::graph_detail::random_access_container_tag"* %this1 to i8**
  %vtable = load i8** %4
  %vbase.offset.ptr = getelementptr i8* %vtable, i64 -20
  %5 = bitcast i8* %vbase.offset.ptr to i32*
  %vbase.offset = load i32* %5
  %6 = bitcast %"struct.boost::graph_detail::random_access_container_tag"* %this1 to i8*
  %add.ptr = getelementptr inbounds i8* %6, i32 %vbase.offset
  %7 = bitcast i8* %add.ptr to i8**
  store i8* %3, i8** %7
  %8 = getelementptr inbounds i8** %vtt2, i64 2
  %9 = load i8** %8
  %10 = bitcast %"struct.boost::graph_detail::random_access_container_tag"* %this1 to i8**
  %vtable3 = load i8** %10
  %vbase.offset.ptr4 = getelementptr i8* %vtable3, i64 -16
  %11 = bitcast i8* %vbase.offset.ptr4 to i32*
  %vbase.offset5 = load i32* %11
  %12 = bitcast %"struct.boost::graph_detail::random_access_container_tag"* %this1 to i8*
  %add.ptr6 = getelementptr inbounds i8* %12, i32 %vbase.offset5
  %13 = bitcast i8* %add.ptr6 to i8**
  store i8* %9, i8** %13
  ret void
}

define linkonce_odr void @_ZN5boost12graph_detail12sequence_tagC2Ev(%"struct.boost::graph_detail::sequence_tag"* %this, i8** %vtt) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::graph_detail::sequence_tag"*, align 4
  %vtt.addr = alloca i8**, align 4
  store %"struct.boost::graph_detail::sequence_tag"* %this, %"struct.boost::graph_detail::sequence_tag"** %this.addr, align 4
  store i8** %vtt, i8*** %vtt.addr, align 4
  %this1 = load %"struct.boost::graph_detail::sequence_tag"** %this.addr
  %vtt2 = load i8*** %vtt.addr
  %0 = load i8** %vtt2
  %1 = bitcast %"struct.boost::graph_detail::sequence_tag"* %this1 to i8**
  store i8* %0, i8** %1
  %2 = getelementptr inbounds i8** %vtt2, i64 1
  %3 = load i8** %2
  %4 = bitcast %"struct.boost::graph_detail::sequence_tag"* %this1 to i8**
  %vtable = load i8** %4
  %vbase.offset.ptr = getelementptr i8* %vtable, i64 -16
  %5 = bitcast i8* %vbase.offset.ptr to i32*
  %vbase.offset = load i32* %5
  %6 = bitcast %"struct.boost::graph_detail::sequence_tag"* %this1 to i8*
  %add.ptr = getelementptr inbounds i8* %6, i32 %vbase.offset
  %7 = bitcast i8* %add.ptr to i8**
  store i8* %3, i8** %7
  ret void
}

define linkonce_odr void @_ZN5boost12graph_detail27back_insertion_sequence_tagC2Ev(%"struct.boost::graph_detail::back_insertion_sequence_tag"* %this, i8** %vtt) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::graph_detail::back_insertion_sequence_tag"*, align 4
  %vtt.addr = alloca i8**, align 4
  store %"struct.boost::graph_detail::back_insertion_sequence_tag"* %this, %"struct.boost::graph_detail::back_insertion_sequence_tag"** %this.addr, align 4
  store i8** %vtt, i8*** %vtt.addr, align 4
  %this1 = load %"struct.boost::graph_detail::back_insertion_sequence_tag"** %this.addr
  %vtt2 = load i8*** %vtt.addr
  %0 = load i8** %vtt2
  %1 = bitcast %"struct.boost::graph_detail::back_insertion_sequence_tag"* %this1 to i8**
  store i8* %0, i8** %1
  %2 = getelementptr inbounds i8** %vtt2, i64 1
  %3 = load i8** %2
  %4 = bitcast %"struct.boost::graph_detail::back_insertion_sequence_tag"* %this1 to i8**
  %vtable = load i8** %4
  %vbase.offset.ptr = getelementptr i8* %vtable, i64 -20
  %5 = bitcast i8* %vbase.offset.ptr to i32*
  %vbase.offset = load i32* %5
  %6 = bitcast %"struct.boost::graph_detail::back_insertion_sequence_tag"* %this1 to i8*
  %add.ptr = getelementptr inbounds i8* %6, i32 %vbase.offset
  %7 = bitcast i8* %add.ptr to i8**
  store i8* %3, i8** %7
  %8 = getelementptr inbounds i8** %vtt2, i64 2
  %9 = load i8** %8
  %10 = bitcast %"struct.boost::graph_detail::back_insertion_sequence_tag"* %this1 to i8**
  %vtable3 = load i8** %10
  %vbase.offset.ptr4 = getelementptr i8* %vtable3, i64 -16
  %11 = bitcast i8* %vbase.offset.ptr4 to i32*
  %vbase.offset5 = load i32* %11
  %12 = bitcast %"struct.boost::graph_detail::back_insertion_sequence_tag"* %this1 to i8*
  %add.ptr6 = getelementptr inbounds i8* %12, i32 %vbase.offset5
  %13 = bitcast i8* %add.ptr6 to i8**
  store i8* %9, i8** %13
  ret void
}

define linkonce_odr void @_ZN5boost12graph_detail21forward_container_tagC2ERKS1_(%"struct.boost::graph_detail::forward_container_tag"* %this, i8** %vtt, %"struct.boost::graph_detail::forward_container_tag"*) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::graph_detail::forward_container_tag"*, align 4
  %vtt.addr = alloca i8**, align 4
  %.addr = alloca %"struct.boost::graph_detail::forward_container_tag"*, align 4
  store %"struct.boost::graph_detail::forward_container_tag"* %this, %"struct.boost::graph_detail::forward_container_tag"** %this.addr, align 4
  store i8** %vtt, i8*** %vtt.addr, align 4
  store %"struct.boost::graph_detail::forward_container_tag"* %0, %"struct.boost::graph_detail::forward_container_tag"** %.addr, align 4
  %this1 = load %"struct.boost::graph_detail::forward_container_tag"** %this.addr
  %vtt2 = load i8*** %vtt.addr
  %1 = load i8** %vtt2
  %2 = bitcast %"struct.boost::graph_detail::forward_container_tag"* %this1 to i8**
  store i8* %1, i8** %2
  ret void
}

define linkonce_odr void @_ZN5boost12graph_detail12sequence_tagC2ERKS1_(%"struct.boost::graph_detail::sequence_tag"* %this, i8** %vtt, %"struct.boost::graph_detail::sequence_tag"*) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::graph_detail::sequence_tag"*, align 4
  %vtt.addr = alloca i8**, align 4
  %.addr = alloca %"struct.boost::graph_detail::sequence_tag"*, align 4
  store %"struct.boost::graph_detail::sequence_tag"* %this, %"struct.boost::graph_detail::sequence_tag"** %this.addr, align 4
  store i8** %vtt, i8*** %vtt.addr, align 4
  store %"struct.boost::graph_detail::sequence_tag"* %0, %"struct.boost::graph_detail::sequence_tag"** %.addr, align 4
  %this1 = load %"struct.boost::graph_detail::sequence_tag"** %this.addr
  %vtt2 = load i8*** %vtt.addr
  %1 = load i8** %vtt2
  %2 = bitcast %"struct.boost::graph_detail::sequence_tag"* %this1 to i8**
  store i8* %1, i8** %2
  %3 = getelementptr inbounds i8** %vtt2, i64 1
  %4 = load i8** %3
  %5 = bitcast %"struct.boost::graph_detail::sequence_tag"* %this1 to i8**
  %vtable = load i8** %5
  %vbase.offset.ptr = getelementptr i8* %vtable, i64 -16
  %6 = bitcast i8* %vbase.offset.ptr to i32*
  %vbase.offset = load i32* %6
  %7 = bitcast %"struct.boost::graph_detail::sequence_tag"* %this1 to i8*
  %add.ptr = getelementptr inbounds i8* %7, i32 %vbase.offset
  %8 = bitcast i8* %add.ptr to i8**
  store i8* %4, i8** %8
  ret void
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE9push_backERKSB_(%"class.std::vector.11"* %this, %"class.boost::detail::stored_edge_iter"* %__x) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.11"*, align 4
  %__x.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator.38", align 4
  store %"class.std::vector.11"* %this, %"class.std::vector.11"** %this.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %__x, %"class.boost::detail::stored_edge_iter"** %__x.addr, align 4
  %this1 = load %"class.std::vector.11"** %this.addr
  %0 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.12"* %0, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl, i32 0, i32 1
  %1 = load %"class.boost::detail::stored_edge_iter"** %_M_finish, align 4
  %2 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base.12"* %2, i32 0, i32 0
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl2, i32 0, i32 2
  %3 = load %"class.boost::detail::stored_edge_iter"** %_M_end_of_storage, align 4
  %cmp = icmp ne %"class.boost::detail::stored_edge_iter"* %1, %3
  br i1 %cmp, label %if.then, label %if.else

if.then:                                          ; preds = %entry
  %4 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl3 = getelementptr inbounds %"struct.std::_Vector_base.12"* %4, i32 0, i32 0
  %5 = bitcast %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl3 to %"class.__gnu_cxx::new_allocator.14"*
  %6 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl4 = getelementptr inbounds %"struct.std::_Vector_base.12"* %6, i32 0, i32 0
  %_M_finish5 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl4, i32 0, i32 1
  %7 = load %"class.boost::detail::stored_edge_iter"** %_M_finish5, align 4
  %8 = load %"class.boost::detail::stored_edge_iter"** %__x.addr, align 4
  call void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EEE9constructEPSC_RKSC_(%"class.__gnu_cxx::new_allocator.14"* %5, %"class.boost::detail::stored_edge_iter"* %7, %"class.boost::detail::stored_edge_iter"* %8)
  %9 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl6 = getelementptr inbounds %"struct.std::_Vector_base.12"* %9, i32 0, i32 0
  %_M_finish7 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl6, i32 0, i32 1
  %10 = load %"class.boost::detail::stored_edge_iter"** %_M_finish7, align 4
  %incdec.ptr = getelementptr inbounds %"class.boost::detail::stored_edge_iter"* %10, i32 1
  store %"class.boost::detail::stored_edge_iter"* %incdec.ptr, %"class.boost::detail::stored_edge_iter"** %_M_finish7, align 4
  br label %if.end

if.else:                                          ; preds = %entry
  call void @_ZNSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE3endEv(%"class.__gnu_cxx::__normal_iterator.38"* sret %agg.tmp, %"class.std::vector.11"* %this1)
  %11 = load %"class.boost::detail::stored_edge_iter"** %__x.addr, align 4
  call void @_ZNSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPSB_SD_EERKSB_(%"class.std::vector.11"* %this1, %"class.__gnu_cxx::__normal_iterator.38"* byval align 4 %agg.tmp, %"class.boost::detail::stored_edge_iter"* %11)
  br label %if.end

if.end:                                           ; preds = %if.else, %if.then
  ret void
}

define linkonce_odr void @_ZSt9make_pairIN9__gnu_cxx17__normal_iteratorIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS2_9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEESA_EESt6vectorISD_SaISD_EEEEbESt4pairIT_T0_ESK_SL_(%"struct.std::pair.42"* noalias sret %agg.result, %"class.__gnu_cxx::__normal_iterator.38"* byval align 4 %__x, i1 zeroext %__y) inlinehint {
entry:
  %__y.addr = alloca i8, align 1
  %frombool = zext i1 %__y to i8
  store i8 %frombool, i8* %__y.addr, align 1
  call void @_ZNSt4pairIN9__gnu_cxx17__normal_iteratorIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS2_9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEESA_EESt6vectorISD_SaISD_EEEEbEC1ERKSI_RKb(%"struct.std::pair.42"* %agg.result, %"class.__gnu_cxx::__normal_iterator.38"* %__x, i8* %__y.addr)
  ret void
}

define linkonce_odr void @_ZN5boost5priorIN9__gnu_cxx17__normal_iteratorIPNS_6detail16stored_edge_iterIjSt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEESA_EESt6vectorISD_SaISD_EEEEEET_SJ_(%"class.__gnu_cxx::__normal_iterator.38"* noalias sret %agg.result, %"class.__gnu_cxx::__normal_iterator.38"* byval align 4 %x) inlinehint {
entry:
  %call = call %"class.__gnu_cxx::__normal_iterator.38"* @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EESt6vectorISC_SaISC_EEEmmEv(%"class.__gnu_cxx::__normal_iterator.38"* %x)
  %0 = bitcast %"class.__gnu_cxx::__normal_iterator.38"* %agg.result to i8*
  %1 = bitcast %"class.__gnu_cxx::__normal_iterator.38"* %call to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 4, i32 4, i1 false)
  ret void
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE3endEv(%"class.__gnu_cxx::__normal_iterator.38"* noalias sret %agg.result, %"class.std::vector.11"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.11"*, align 4
  store %"class.std::vector.11"* %this, %"class.std::vector.11"** %this.addr, align 4
  %this1 = load %"class.std::vector.11"** %this.addr
  %0 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.12"* %0, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl, i32 0, i32 1
  call void @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EESt6vectorISC_SaISC_EEEC1ERKSD_(%"class.__gnu_cxx::__normal_iterator.38"* %agg.result, %"class.boost::detail::stored_edge_iter"** %_M_finish)
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EESt6vectorISC_SaISC_EEEC1ERKSD_(%"class.__gnu_cxx::__normal_iterator.38"* %this, %"class.boost::detail::stored_edge_iter"** %__i) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.38"*, align 4
  %__i.addr = alloca %"class.boost::detail::stored_edge_iter"**, align 4
  store %"class.__gnu_cxx::__normal_iterator.38"* %this, %"class.__gnu_cxx::__normal_iterator.38"** %this.addr, align 4
  store %"class.boost::detail::stored_edge_iter"** %__i, %"class.boost::detail::stored_edge_iter"*** %__i.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.38"** %this.addr
  %0 = load %"class.boost::detail::stored_edge_iter"*** %__i.addr
  call void @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EESt6vectorISC_SaISC_EEEC2ERKSD_(%"class.__gnu_cxx::__normal_iterator.38"* %this1, %"class.boost::detail::stored_edge_iter"** %0)
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EESt6vectorISC_SaISC_EEEC2ERKSD_(%"class.__gnu_cxx::__normal_iterator.38"* %this, %"class.boost::detail::stored_edge_iter"** %__i) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.38"*, align 4
  %__i.addr = alloca %"class.boost::detail::stored_edge_iter"**, align 4
  store %"class.__gnu_cxx::__normal_iterator.38"* %this, %"class.__gnu_cxx::__normal_iterator.38"** %this.addr, align 4
  store %"class.boost::detail::stored_edge_iter"** %__i, %"class.boost::detail::stored_edge_iter"*** %__i.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.38"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.38"* %this1, i32 0, i32 0
  %0 = load %"class.boost::detail::stored_edge_iter"*** %__i.addr, align 4
  %1 = load %"class.boost::detail::stored_edge_iter"** %0, align 4
  store %"class.boost::detail::stored_edge_iter"* %1, %"class.boost::detail::stored_edge_iter"** %_M_current, align 4
  ret void
}

define linkonce_odr %"class.__gnu_cxx::__normal_iterator.38"* @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EESt6vectorISC_SaISC_EEEmmEv(%"class.__gnu_cxx::__normal_iterator.38"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.38"*, align 4
  store %"class.__gnu_cxx::__normal_iterator.38"* %this, %"class.__gnu_cxx::__normal_iterator.38"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.38"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.38"* %this1, i32 0, i32 0
  %0 = load %"class.boost::detail::stored_edge_iter"** %_M_current, align 4
  %incdec.ptr = getelementptr inbounds %"class.boost::detail::stored_edge_iter"* %0, i32 -1
  store %"class.boost::detail::stored_edge_iter"* %incdec.ptr, %"class.boost::detail::stored_edge_iter"** %_M_current, align 4
  ret %"class.__gnu_cxx::__normal_iterator.38"* %this1
}

define linkonce_odr void @_ZNSt4pairIN9__gnu_cxx17__normal_iteratorIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS2_9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEESA_EESt6vectorISD_SaISD_EEEEbEC1ERKSI_RKb(%"struct.std::pair.42"* %this, %"class.__gnu_cxx::__normal_iterator.38"* %__a, i8* %__b) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::pair.42"*, align 4
  %__a.addr = alloca %"class.__gnu_cxx::__normal_iterator.38"*, align 4
  %__b.addr = alloca i8*, align 4
  store %"struct.std::pair.42"* %this, %"struct.std::pair.42"** %this.addr, align 4
  store %"class.__gnu_cxx::__normal_iterator.38"* %__a, %"class.__gnu_cxx::__normal_iterator.38"** %__a.addr, align 4
  store i8* %__b, i8** %__b.addr, align 4
  %this1 = load %"struct.std::pair.42"** %this.addr
  %0 = load i8** %__b.addr
  %1 = load %"class.__gnu_cxx::__normal_iterator.38"** %__a.addr
  call void @_ZNSt4pairIN9__gnu_cxx17__normal_iteratorIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS2_9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEESA_EESt6vectorISD_SaISD_EEEEbEC2ERKSI_RKb(%"struct.std::pair.42"* %this1, %"class.__gnu_cxx::__normal_iterator.38"* %1, i8* %0)
  ret void
}

define linkonce_odr void @_ZNSt4pairIN9__gnu_cxx17__normal_iteratorIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS2_9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEESA_EESt6vectorISD_SaISD_EEEEbEC2ERKSI_RKb(%"struct.std::pair.42"* %this, %"class.__gnu_cxx::__normal_iterator.38"* %__a, i8* %__b) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::pair.42"*, align 4
  %__a.addr = alloca %"class.__gnu_cxx::__normal_iterator.38"*, align 4
  %__b.addr = alloca i8*, align 4
  store %"struct.std::pair.42"* %this, %"struct.std::pair.42"** %this.addr, align 4
  store %"class.__gnu_cxx::__normal_iterator.38"* %__a, %"class.__gnu_cxx::__normal_iterator.38"** %__a.addr, align 4
  store i8* %__b, i8** %__b.addr, align 4
  %this1 = load %"struct.std::pair.42"** %this.addr
  %first = getelementptr inbounds %"struct.std::pair.42"* %this1, i32 0, i32 0
  %0 = load %"class.__gnu_cxx::__normal_iterator.38"** %__a.addr, align 4
  %1 = bitcast %"class.__gnu_cxx::__normal_iterator.38"* %first to i8*
  %2 = bitcast %"class.__gnu_cxx::__normal_iterator.38"* %0 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1, i8* %2, i32 4, i32 4, i1 false)
  %second = getelementptr inbounds %"struct.std::pair.42"* %this1, i32 0, i32 1
  %3 = load i8** %__b.addr, align 4
  %4 = load i8* %3, align 1
  %tobool = trunc i8 %4 to i1
  %frombool = zext i1 %tobool to i8
  store i8 %frombool, i8* %second, align 1
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EEE9constructEPSC_RKSC_(%"class.__gnu_cxx::new_allocator.14"* %this, %"class.boost::detail::stored_edge_iter"* %__p, %"class.boost::detail::stored_edge_iter"* %__val) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.14"*, align 4
  %__p.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__val.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  store %"class.__gnu_cxx::new_allocator.14"* %this, %"class.__gnu_cxx::new_allocator.14"** %this.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %__p, %"class.boost::detail::stored_edge_iter"** %__p.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %__val, %"class.boost::detail::stored_edge_iter"** %__val.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.14"** %this.addr
  %0 = load %"class.boost::detail::stored_edge_iter"** %__p.addr, align 4
  %1 = bitcast %"class.boost::detail::stored_edge_iter"* %0 to i8*
  %new.isnull = icmp eq i8* %1, null
  br i1 %new.isnull, label %new.cont, label %new.notnull

new.notnull:                                      ; preds = %entry
  %2 = bitcast i8* %1 to %"class.boost::detail::stored_edge_iter"*
  %3 = load %"class.boost::detail::stored_edge_iter"** %__val.addr, align 4
  %4 = bitcast %"class.boost::detail::stored_edge_iter"* %2 to i8*
  %5 = bitcast %"class.boost::detail::stored_edge_iter"* %3 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %5, i32 8, i32 4, i1 false)
  br label %new.cont

new.cont:                                         ; preds = %new.notnull, %entry
  %6 = phi %"class.boost::detail::stored_edge_iter"* [ %2, %new.notnull ], [ null, %entry ]
  ret void
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPSB_SD_EERKSB_(%"class.std::vector.11"* %this, %"class.__gnu_cxx::__normal_iterator.38"* byval align 4 %__position, %"class.boost::detail::stored_edge_iter"* %__x) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.11"*, align 4
  %__x.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__x_copy = alloca %"class.boost::detail::stored_edge_iter", align 4
  %__len = alloca i32, align 4
  %__elems_before = alloca i32, align 4
  %ref.tmp = alloca %"class.__gnu_cxx::__normal_iterator.38", align 4
  %__new_start = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__new_finish = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.std::vector.11"* %this, %"class.std::vector.11"** %this.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %__x, %"class.boost::detail::stored_edge_iter"** %__x.addr, align 4
  %this1 = load %"class.std::vector.11"** %this.addr
  %0 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.12"* %0, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl, i32 0, i32 1
  %1 = load %"class.boost::detail::stored_edge_iter"** %_M_finish, align 4
  %2 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base.12"* %2, i32 0, i32 0
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl2, i32 0, i32 2
  %3 = load %"class.boost::detail::stored_edge_iter"** %_M_end_of_storage, align 4
  %cmp = icmp ne %"class.boost::detail::stored_edge_iter"* %1, %3
  br i1 %cmp, label %if.then, label %if.else

if.then:                                          ; preds = %entry
  %4 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl3 = getelementptr inbounds %"struct.std::_Vector_base.12"* %4, i32 0, i32 0
  %5 = bitcast %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl3 to %"class.__gnu_cxx::new_allocator.14"*
  %6 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl4 = getelementptr inbounds %"struct.std::_Vector_base.12"* %6, i32 0, i32 0
  %_M_finish5 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl4, i32 0, i32 1
  %7 = load %"class.boost::detail::stored_edge_iter"** %_M_finish5, align 4
  %8 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl6 = getelementptr inbounds %"struct.std::_Vector_base.12"* %8, i32 0, i32 0
  %_M_finish7 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl6, i32 0, i32 1
  %9 = load %"class.boost::detail::stored_edge_iter"** %_M_finish7, align 4
  %add.ptr = getelementptr inbounds %"class.boost::detail::stored_edge_iter"* %9, i32 -1
  call void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EEE9constructEPSC_RKSC_(%"class.__gnu_cxx::new_allocator.14"* %5, %"class.boost::detail::stored_edge_iter"* %7, %"class.boost::detail::stored_edge_iter"* %add.ptr)
  %10 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl8 = getelementptr inbounds %"struct.std::_Vector_base.12"* %10, i32 0, i32 0
  %_M_finish9 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl8, i32 0, i32 1
  %11 = load %"class.boost::detail::stored_edge_iter"** %_M_finish9, align 4
  %incdec.ptr = getelementptr inbounds %"class.boost::detail::stored_edge_iter"* %11, i32 1
  store %"class.boost::detail::stored_edge_iter"* %incdec.ptr, %"class.boost::detail::stored_edge_iter"** %_M_finish9, align 4
  %12 = load %"class.boost::detail::stored_edge_iter"** %__x.addr, align 4
  %13 = bitcast %"class.boost::detail::stored_edge_iter"* %__x_copy to i8*
  %14 = bitcast %"class.boost::detail::stored_edge_iter"* %12 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %13, i8* %14, i32 8, i32 4, i1 false)
  %call = call %"class.boost::detail::stored_edge_iter"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EESt6vectorISC_SaISC_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.38"* %__position)
  %15 = load %"class.boost::detail::stored_edge_iter"** %call
  %16 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl10 = getelementptr inbounds %"struct.std::_Vector_base.12"* %16, i32 0, i32 0
  %_M_finish11 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl10, i32 0, i32 1
  %17 = load %"class.boost::detail::stored_edge_iter"** %_M_finish11, align 4
  %add.ptr12 = getelementptr inbounds %"class.boost::detail::stored_edge_iter"* %17, i32 -2
  %18 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl13 = getelementptr inbounds %"struct.std::_Vector_base.12"* %18, i32 0, i32 0
  %_M_finish14 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl13, i32 0, i32 1
  %19 = load %"class.boost::detail::stored_edge_iter"** %_M_finish14, align 4
  %add.ptr15 = getelementptr inbounds %"class.boost::detail::stored_edge_iter"* %19, i32 -1
  %call16 = call %"class.boost::detail::stored_edge_iter"* @_ZSt13copy_backwardIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESC_ET0_T_SE_SD_(%"class.boost::detail::stored_edge_iter"* %15, %"class.boost::detail::stored_edge_iter"* %add.ptr12, %"class.boost::detail::stored_edge_iter"* %add.ptr15)
  %call17 = call %"class.boost::detail::stored_edge_iter"* @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EESt6vectorISC_SaISC_EEEdeEv(%"class.__gnu_cxx::__normal_iterator.38"* %__position)
  %call18 = call %"class.boost::detail::stored_edge_iter"* @_ZN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEES7_EaSERKSA_(%"class.boost::detail::stored_edge_iter"* %call17, %"class.boost::detail::stored_edge_iter"* %__x_copy)
  br label %if.end69

if.else:                                          ; preds = %entry
  %call19 = call i32 @_ZNKSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE12_M_check_lenEjPKc(%"class.std::vector.11"* %this1, i32 1, i8* getelementptr inbounds ([22 x i8]* @.str16, i32 0, i32 0))
  store i32 %call19, i32* %__len, align 4
  call void @_ZNSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE5beginEv(%"class.__gnu_cxx::__normal_iterator.38"* sret %ref.tmp, %"class.std::vector.11"* %this1)
  %call20 = call i32 @_ZN9__gnu_cxxmiIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EESt6vectorISC_SaISC_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSK_SN_(%"class.__gnu_cxx::__normal_iterator.38"* %__position, %"class.__gnu_cxx::__normal_iterator.38"* %ref.tmp)
  store i32 %call20, i32* %__elems_before, align 4
  %20 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %21 = load i32* %__len, align 4
  %call21 = call %"class.boost::detail::stored_edge_iter"* @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE11_M_allocateEj(%"struct.std::_Vector_base.12"* %20, i32 %21)
  store %"class.boost::detail::stored_edge_iter"* %call21, %"class.boost::detail::stored_edge_iter"** %__new_start, align 4
  %22 = load %"class.boost::detail::stored_edge_iter"** %__new_start, align 4
  store %"class.boost::detail::stored_edge_iter"* %22, %"class.boost::detail::stored_edge_iter"** %__new_finish, align 4
  %23 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl22 = getelementptr inbounds %"struct.std::_Vector_base.12"* %23, i32 0, i32 0
  %24 = bitcast %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl22 to %"class.__gnu_cxx::new_allocator.14"*
  %25 = load %"class.boost::detail::stored_edge_iter"** %__new_start, align 4
  %26 = load i32* %__elems_before, align 4
  %add.ptr23 = getelementptr inbounds %"class.boost::detail::stored_edge_iter"* %25, i32 %26
  %27 = load %"class.boost::detail::stored_edge_iter"** %__x.addr, align 4
  invoke void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EEE9constructEPSC_RKSC_(%"class.__gnu_cxx::new_allocator.14"* %24, %"class.boost::detail::stored_edge_iter"* %add.ptr23, %"class.boost::detail::stored_edge_iter"* %27)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %if.else
  store %"class.boost::detail::stored_edge_iter"* null, %"class.boost::detail::stored_edge_iter"** %__new_finish, align 4
  %28 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl24 = getelementptr inbounds %"struct.std::_Vector_base.12"* %28, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl24, i32 0, i32 0
  %29 = load %"class.boost::detail::stored_edge_iter"** %_M_start, align 4
  %call26 = invoke %"class.boost::detail::stored_edge_iter"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EESt6vectorISC_SaISC_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.38"* %__position)
          to label %invoke.cont25 unwind label %lpad

invoke.cont25:                                    ; preds = %invoke.cont
  %30 = load %"class.boost::detail::stored_edge_iter"** %call26
  %31 = load %"class.boost::detail::stored_edge_iter"** %__new_start, align 4
  %32 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %call28 = invoke %"class.std::allocator.13"* @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.12"* %32)
          to label %invoke.cont27 unwind label %lpad

invoke.cont27:                                    ; preds = %invoke.cont25
  %call30 = invoke %"class.boost::detail::stored_edge_iter"* @_ZSt22__uninitialized_move_aIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESC_SaISB_EET0_T_SF_SE_RT1_(%"class.boost::detail::stored_edge_iter"* %29, %"class.boost::detail::stored_edge_iter"* %30, %"class.boost::detail::stored_edge_iter"* %31, %"class.std::allocator.13"* %call28)
          to label %invoke.cont29 unwind label %lpad

invoke.cont29:                                    ; preds = %invoke.cont27
  store %"class.boost::detail::stored_edge_iter"* %call30, %"class.boost::detail::stored_edge_iter"** %__new_finish, align 4
  %33 = load %"class.boost::detail::stored_edge_iter"** %__new_finish, align 4
  %incdec.ptr31 = getelementptr inbounds %"class.boost::detail::stored_edge_iter"* %33, i32 1
  store %"class.boost::detail::stored_edge_iter"* %incdec.ptr31, %"class.boost::detail::stored_edge_iter"** %__new_finish, align 4
  %call33 = invoke %"class.boost::detail::stored_edge_iter"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EESt6vectorISC_SaISC_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.38"* %__position)
          to label %invoke.cont32 unwind label %lpad

invoke.cont32:                                    ; preds = %invoke.cont29
  %34 = load %"class.boost::detail::stored_edge_iter"** %call33
  %35 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl34 = getelementptr inbounds %"struct.std::_Vector_base.12"* %35, i32 0, i32 0
  %_M_finish35 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl34, i32 0, i32 1
  %36 = load %"class.boost::detail::stored_edge_iter"** %_M_finish35, align 4
  %37 = load %"class.boost::detail::stored_edge_iter"** %__new_finish, align 4
  %38 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %call37 = invoke %"class.std::allocator.13"* @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.12"* %38)
          to label %invoke.cont36 unwind label %lpad

invoke.cont36:                                    ; preds = %invoke.cont32
  %call39 = invoke %"class.boost::detail::stored_edge_iter"* @_ZSt22__uninitialized_move_aIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESC_SaISB_EET0_T_SF_SE_RT1_(%"class.boost::detail::stored_edge_iter"* %34, %"class.boost::detail::stored_edge_iter"* %36, %"class.boost::detail::stored_edge_iter"* %37, %"class.std::allocator.13"* %call37)
          to label %invoke.cont38 unwind label %lpad

invoke.cont38:                                    ; preds = %invoke.cont36
  store %"class.boost::detail::stored_edge_iter"* %call39, %"class.boost::detail::stored_edge_iter"** %__new_finish, align 4
  br label %try.cont

lpad:                                             ; preds = %invoke.cont36, %invoke.cont32, %invoke.cont29, %invoke.cont27, %invoke.cont25, %invoke.cont, %if.else
  %39 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  %40 = extractvalue { i8*, i32 } %39, 0
  store i8* %40, i8** %exn.slot
  %41 = extractvalue { i8*, i32 } %39, 1
  store i32 %41, i32* %ehselector.slot
  br label %catch

catch:                                            ; preds = %lpad
  %exn = load i8** %exn.slot
  %42 = call i8* @__cxa_begin_catch(i8* %exn) nounwind
  %43 = load %"class.boost::detail::stored_edge_iter"** %__new_finish, align 4
  %tobool = icmp ne %"class.boost::detail::stored_edge_iter"* %43, null
  br i1 %tobool, label %if.else45, label %if.then40

if.then40:                                        ; preds = %catch
  %44 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl41 = getelementptr inbounds %"struct.std::_Vector_base.12"* %44, i32 0, i32 0
  %45 = bitcast %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl41 to %"class.__gnu_cxx::new_allocator.14"*
  %46 = load %"class.boost::detail::stored_edge_iter"** %__new_start, align 4
  %47 = load i32* %__elems_before, align 4
  %add.ptr42 = getelementptr inbounds %"class.boost::detail::stored_edge_iter"* %46, i32 %47
  invoke void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EEE7destroyEPSC_(%"class.__gnu_cxx::new_allocator.14"* %45, %"class.boost::detail::stored_edge_iter"* %add.ptr42)
          to label %invoke.cont44 unwind label %lpad43

invoke.cont44:                                    ; preds = %if.then40
  br label %if.end

lpad43:                                           ; preds = %invoke.cont49, %if.end, %invoke.cont46, %if.else45, %if.then40
  %48 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %49 = extractvalue { i8*, i32 } %48, 0
  store i8* %49, i8** %exn.slot
  %50 = extractvalue { i8*, i32 } %48, 1
  store i32 %50, i32* %ehselector.slot
  invoke void @__cxa_end_catch()
          to label %invoke.cont50 unwind label %terminate.lpad

if.else45:                                        ; preds = %catch
  %51 = load %"class.boost::detail::stored_edge_iter"** %__new_start, align 4
  %52 = load %"class.boost::detail::stored_edge_iter"** %__new_finish, align 4
  %53 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %call47 = invoke %"class.std::allocator.13"* @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.12"* %53)
          to label %invoke.cont46 unwind label %lpad43

invoke.cont46:                                    ; preds = %if.else45
  invoke void @_ZSt8_DestroyIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESB_EvT_SD_RSaIT0_E(%"class.boost::detail::stored_edge_iter"* %51, %"class.boost::detail::stored_edge_iter"* %52, %"class.std::allocator.13"* %call47)
          to label %invoke.cont48 unwind label %lpad43

invoke.cont48:                                    ; preds = %invoke.cont46
  br label %if.end

if.end:                                           ; preds = %invoke.cont48, %invoke.cont44
  %54 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %55 = load %"class.boost::detail::stored_edge_iter"** %__new_start, align 4
  %56 = load i32* %__len, align 4
  invoke void @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE13_M_deallocateEPSB_j(%"struct.std::_Vector_base.12"* %54, %"class.boost::detail::stored_edge_iter"* %55, i32 %56)
          to label %invoke.cont49 unwind label %lpad43

invoke.cont49:                                    ; preds = %if.end
  invoke void @__cxa_rethrow() noreturn
          to label %unreachable unwind label %lpad43

invoke.cont50:                                    ; preds = %lpad43
  br label %eh.resume

try.cont:                                         ; preds = %invoke.cont38
  %57 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl51 = getelementptr inbounds %"struct.std::_Vector_base.12"* %57, i32 0, i32 0
  %_M_start52 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl51, i32 0, i32 0
  %58 = load %"class.boost::detail::stored_edge_iter"** %_M_start52, align 4
  %59 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl53 = getelementptr inbounds %"struct.std::_Vector_base.12"* %59, i32 0, i32 0
  %_M_finish54 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl53, i32 0, i32 1
  %60 = load %"class.boost::detail::stored_edge_iter"** %_M_finish54, align 4
  %61 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %call55 = call %"class.std::allocator.13"* @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.12"* %61)
  call void @_ZSt8_DestroyIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESB_EvT_SD_RSaIT0_E(%"class.boost::detail::stored_edge_iter"* %58, %"class.boost::detail::stored_edge_iter"* %60, %"class.std::allocator.13"* %call55)
  %62 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %63 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl56 = getelementptr inbounds %"struct.std::_Vector_base.12"* %63, i32 0, i32 0
  %_M_start57 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl56, i32 0, i32 0
  %64 = load %"class.boost::detail::stored_edge_iter"** %_M_start57, align 4
  %65 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl58 = getelementptr inbounds %"struct.std::_Vector_base.12"* %65, i32 0, i32 0
  %_M_end_of_storage59 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl58, i32 0, i32 2
  %66 = load %"class.boost::detail::stored_edge_iter"** %_M_end_of_storage59, align 4
  %67 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl60 = getelementptr inbounds %"struct.std::_Vector_base.12"* %67, i32 0, i32 0
  %_M_start61 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl60, i32 0, i32 0
  %68 = load %"class.boost::detail::stored_edge_iter"** %_M_start61, align 4
  %sub.ptr.lhs.cast = ptrtoint %"class.boost::detail::stored_edge_iter"* %66 to i32
  %sub.ptr.rhs.cast = ptrtoint %"class.boost::detail::stored_edge_iter"* %68 to i32
  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  %sub.ptr.div = sdiv exact i32 %sub.ptr.sub, 8
  call void @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE13_M_deallocateEPSB_j(%"struct.std::_Vector_base.12"* %62, %"class.boost::detail::stored_edge_iter"* %64, i32 %sub.ptr.div)
  %69 = load %"class.boost::detail::stored_edge_iter"** %__new_start, align 4
  %70 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl62 = getelementptr inbounds %"struct.std::_Vector_base.12"* %70, i32 0, i32 0
  %_M_start63 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl62, i32 0, i32 0
  store %"class.boost::detail::stored_edge_iter"* %69, %"class.boost::detail::stored_edge_iter"** %_M_start63, align 4
  %71 = load %"class.boost::detail::stored_edge_iter"** %__new_finish, align 4
  %72 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl64 = getelementptr inbounds %"struct.std::_Vector_base.12"* %72, i32 0, i32 0
  %_M_finish65 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl64, i32 0, i32 1
  store %"class.boost::detail::stored_edge_iter"* %71, %"class.boost::detail::stored_edge_iter"** %_M_finish65, align 4
  %73 = load %"class.boost::detail::stored_edge_iter"** %__new_start, align 4
  %74 = load i32* %__len, align 4
  %add.ptr66 = getelementptr inbounds %"class.boost::detail::stored_edge_iter"* %73, i32 %74
  %75 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl67 = getelementptr inbounds %"struct.std::_Vector_base.12"* %75, i32 0, i32 0
  %_M_end_of_storage68 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl67, i32 0, i32 2
  store %"class.boost::detail::stored_edge_iter"* %add.ptr66, %"class.boost::detail::stored_edge_iter"** %_M_end_of_storage68, align 4
  br label %if.end69

if.end69:                                         ; preds = %try.cont, %if.then
  ret void

eh.resume:                                        ; preds = %invoke.cont50
  %exn70 = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn70, 0
  %lpad.val71 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val71

terminate.lpad:                                   ; preds = %lpad43
  %76 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable

unreachable:                                      ; preds = %invoke.cont49
  unreachable
}

define linkonce_odr %"class.boost::detail::stored_edge_iter"* @_ZSt13copy_backwardIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESC_ET0_T_SE_SD_(%"class.boost::detail::stored_edge_iter"* %__first, %"class.boost::detail::stored_edge_iter"* %__last, %"class.boost::detail::stored_edge_iter"* %__result) inlinehint {
entry:
  %__first.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__last.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__result.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  store %"class.boost::detail::stored_edge_iter"* %__first, %"class.boost::detail::stored_edge_iter"** %__first.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %__last, %"class.boost::detail::stored_edge_iter"** %__last.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %__result, %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  %0 = load %"class.boost::detail::stored_edge_iter"** %__first.addr, align 4
  %call = call %"class.boost::detail::stored_edge_iter"* @_ZSt12__miter_baseIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EEENSt11_Miter_baseIT_E13iterator_typeESE_(%"class.boost::detail::stored_edge_iter"* %0)
  %1 = load %"class.boost::detail::stored_edge_iter"** %__last.addr, align 4
  %call1 = call %"class.boost::detail::stored_edge_iter"* @_ZSt12__miter_baseIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EEENSt11_Miter_baseIT_E13iterator_typeESE_(%"class.boost::detail::stored_edge_iter"* %1)
  %2 = load %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  %call2 = call %"class.boost::detail::stored_edge_iter"* @_ZSt23__copy_move_backward_a2ILb0EPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESC_ET1_T0_SE_SD_(%"class.boost::detail::stored_edge_iter"* %call, %"class.boost::detail::stored_edge_iter"* %call1, %"class.boost::detail::stored_edge_iter"* %2)
  ret %"class.boost::detail::stored_edge_iter"* %call2
}

define linkonce_odr %"class.boost::detail::stored_edge_iter"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EESt6vectorISC_SaISC_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.38"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.38"*, align 4
  store %"class.__gnu_cxx::__normal_iterator.38"* %this, %"class.__gnu_cxx::__normal_iterator.38"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.38"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.38"* %this1, i32 0, i32 0
  ret %"class.boost::detail::stored_edge_iter"** %_M_current
}

define linkonce_odr %"class.boost::detail::stored_edge_iter"* @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EESt6vectorISC_SaISC_EEEdeEv(%"class.__gnu_cxx::__normal_iterator.38"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.38"*, align 4
  store %"class.__gnu_cxx::__normal_iterator.38"* %this, %"class.__gnu_cxx::__normal_iterator.38"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.38"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.38"* %this1, i32 0, i32 0
  %0 = load %"class.boost::detail::stored_edge_iter"** %_M_current, align 4
  ret %"class.boost::detail::stored_edge_iter"* %0
}

define linkonce_odr %"class.boost::detail::stored_edge_iter"* @_ZN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEES7_EaSERKSA_(%"class.boost::detail::stored_edge_iter"* %this, %"class.boost::detail::stored_edge_iter"*) inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  store %"class.boost::detail::stored_edge_iter"* %this, %"class.boost::detail::stored_edge_iter"** %this.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %0, %"class.boost::detail::stored_edge_iter"** %.addr, align 4
  %this1 = load %"class.boost::detail::stored_edge_iter"** %this.addr
  %1 = bitcast %"class.boost::detail::stored_edge_iter"* %this1 to %"class.boost::detail::stored_edge"*
  %2 = load %"class.boost::detail::stored_edge_iter"** %.addr, align 4
  %3 = bitcast %"class.boost::detail::stored_edge_iter"* %2 to %"class.boost::detail::stored_edge"*
  %call = call %"class.boost::detail::stored_edge"* @_ZN5boost6detail11stored_edgeIjEaSERKS2_(%"class.boost::detail::stored_edge"* %1, %"class.boost::detail::stored_edge"* %3)
  %m_iter = getelementptr inbounds %"class.boost::detail::stored_edge_iter"* %this1, i32 0, i32 1
  %4 = load %"class.boost::detail::stored_edge_iter"** %.addr, align 4
  %m_iter2 = getelementptr inbounds %"class.boost::detail::stored_edge_iter"* %4, i32 0, i32 1
  %5 = bitcast %"struct.std::_List_iterator"* %m_iter to i8*
  %6 = bitcast %"struct.std::_List_iterator"* %m_iter2 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %5, i8* %6, i32 4, i32 4, i1 false)
  ret %"class.boost::detail::stored_edge_iter"* %this1
}

define linkonce_odr i32 @_ZNKSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE12_M_check_lenEjPKc(%"class.std::vector.11"* %this, i32 %__n, i8* %__s) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.11"*, align 4
  %__n.addr = alloca i32, align 4
  %__s.addr = alloca i8*, align 4
  %__len = alloca i32, align 4
  %ref.tmp = alloca i32, align 4
  store %"class.std::vector.11"* %this, %"class.std::vector.11"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store i8* %__s, i8** %__s.addr, align 4
  %this1 = load %"class.std::vector.11"** %this.addr
  %call = call i32 @_ZNKSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE8max_sizeEv(%"class.std::vector.11"* %this1)
  %call2 = call i32 @_ZNKSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE4sizeEv(%"class.std::vector.11"* %this1)
  %sub = sub i32 %call, %call2
  %0 = load i32* %__n.addr, align 4
  %cmp = icmp ult i32 %sub, %0
  br i1 %cmp, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  %1 = load i8** %__s.addr, align 4
  call void @_ZSt20__throw_length_errorPKc(i8* %1) noreturn
  unreachable

if.end:                                           ; preds = %entry
  %call3 = call i32 @_ZNKSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE4sizeEv(%"class.std::vector.11"* %this1)
  %call4 = call i32 @_ZNKSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE4sizeEv(%"class.std::vector.11"* %this1)
  store i32 %call4, i32* %ref.tmp, align 4
  %call5 = call i32* @_ZSt3maxIjERKT_S2_S2_(i32* %ref.tmp, i32* %__n.addr)
  %2 = load i32* %call5
  %add = add i32 %call3, %2
  store i32 %add, i32* %__len, align 4
  %3 = load i32* %__len, align 4
  %call6 = call i32 @_ZNKSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE4sizeEv(%"class.std::vector.11"* %this1)
  %cmp7 = icmp ult i32 %3, %call6
  br i1 %cmp7, label %cond.true, label %lor.lhs.false

lor.lhs.false:                                    ; preds = %if.end
  %4 = load i32* %__len, align 4
  %call8 = call i32 @_ZNKSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE8max_sizeEv(%"class.std::vector.11"* %this1)
  %cmp9 = icmp ugt i32 %4, %call8
  br i1 %cmp9, label %cond.true, label %cond.false

cond.true:                                        ; preds = %lor.lhs.false, %if.end
  %call10 = call i32 @_ZNKSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE8max_sizeEv(%"class.std::vector.11"* %this1)
  br label %cond.end

cond.false:                                       ; preds = %lor.lhs.false
  %5 = load i32* %__len, align 4
  br label %cond.end

cond.end:                                         ; preds = %cond.false, %cond.true
  %cond = phi i32 [ %call10, %cond.true ], [ %5, %cond.false ]
  ret i32 %cond
}

define linkonce_odr i32 @_ZN9__gnu_cxxmiIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EESt6vectorISC_SaISC_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSK_SN_(%"class.__gnu_cxx::__normal_iterator.38"* %__lhs, %"class.__gnu_cxx::__normal_iterator.38"* %__rhs) inlinehint {
entry:
  %__lhs.addr = alloca %"class.__gnu_cxx::__normal_iterator.38"*, align 4
  %__rhs.addr = alloca %"class.__gnu_cxx::__normal_iterator.38"*, align 4
  store %"class.__gnu_cxx::__normal_iterator.38"* %__lhs, %"class.__gnu_cxx::__normal_iterator.38"** %__lhs.addr, align 4
  store %"class.__gnu_cxx::__normal_iterator.38"* %__rhs, %"class.__gnu_cxx::__normal_iterator.38"** %__rhs.addr, align 4
  %0 = load %"class.__gnu_cxx::__normal_iterator.38"** %__lhs.addr, align 4
  %call = call %"class.boost::detail::stored_edge_iter"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EESt6vectorISC_SaISC_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.38"* %0)
  %1 = load %"class.boost::detail::stored_edge_iter"** %call
  %2 = load %"class.__gnu_cxx::__normal_iterator.38"** %__rhs.addr, align 4
  %call1 = call %"class.boost::detail::stored_edge_iter"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EESt6vectorISC_SaISC_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.38"* %2)
  %3 = load %"class.boost::detail::stored_edge_iter"** %call1
  %sub.ptr.lhs.cast = ptrtoint %"class.boost::detail::stored_edge_iter"* %1 to i32
  %sub.ptr.rhs.cast = ptrtoint %"class.boost::detail::stored_edge_iter"* %3 to i32
  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  %sub.ptr.div = sdiv exact i32 %sub.ptr.sub, 8
  ret i32 %sub.ptr.div
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE5beginEv(%"class.__gnu_cxx::__normal_iterator.38"* noalias sret %agg.result, %"class.std::vector.11"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.11"*, align 4
  store %"class.std::vector.11"* %this, %"class.std::vector.11"** %this.addr, align 4
  %this1 = load %"class.std::vector.11"** %this.addr
  %0 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.12"* %0, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl, i32 0, i32 0
  call void @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EESt6vectorISC_SaISC_EEEC1ERKSD_(%"class.__gnu_cxx::__normal_iterator.38"* %agg.result, %"class.boost::detail::stored_edge_iter"** %_M_start)
  ret void
}

define linkonce_odr %"class.boost::detail::stored_edge_iter"* @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE11_M_allocateEj(%"struct.std::_Vector_base.12"* %this, i32 %__n) align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base.12"*, align 4
  %__n.addr = alloca i32, align 4
  store %"struct.std::_Vector_base.12"* %this, %"struct.std::_Vector_base.12"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  %this1 = load %"struct.std::_Vector_base.12"** %this.addr
  %0 = load i32* %__n.addr, align 4
  %cmp = icmp ne i32 %0, 0
  br i1 %cmp, label %cond.true, label %cond.false

cond.true:                                        ; preds = %entry
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.12"* %this1, i32 0, i32 0
  %1 = bitcast %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl to %"class.__gnu_cxx::new_allocator.14"*
  %2 = load i32* %__n.addr, align 4
  %call = call %"class.boost::detail::stored_edge_iter"* @_ZN9__gnu_cxx13new_allocatorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EEE8allocateEjPKv(%"class.__gnu_cxx::new_allocator.14"* %1, i32 %2, i8* null)
  br label %cond.end

cond.false:                                       ; preds = %entry
  br label %cond.end

cond.end:                                         ; preds = %cond.false, %cond.true
  %cond = phi %"class.boost::detail::stored_edge_iter"* [ %call, %cond.true ], [ null, %cond.false ]
  ret %"class.boost::detail::stored_edge_iter"* %cond
}

define linkonce_odr %"class.boost::detail::stored_edge_iter"* @_ZSt22__uninitialized_move_aIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESC_SaISB_EET0_T_SF_SE_RT1_(%"class.boost::detail::stored_edge_iter"* %__first, %"class.boost::detail::stored_edge_iter"* %__last, %"class.boost::detail::stored_edge_iter"* %__result, %"class.std::allocator.13"* %__alloc) inlinehint {
entry:
  %__first.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__last.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__result.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__alloc.addr = alloca %"class.std::allocator.13"*, align 4
  store %"class.boost::detail::stored_edge_iter"* %__first, %"class.boost::detail::stored_edge_iter"** %__first.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %__last, %"class.boost::detail::stored_edge_iter"** %__last.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %__result, %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  store %"class.std::allocator.13"* %__alloc, %"class.std::allocator.13"** %__alloc.addr, align 4
  %0 = load %"class.boost::detail::stored_edge_iter"** %__first.addr, align 4
  %1 = load %"class.boost::detail::stored_edge_iter"** %__last.addr, align 4
  %2 = load %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  %3 = load %"class.std::allocator.13"** %__alloc.addr, align 4
  %call = call %"class.boost::detail::stored_edge_iter"* @_ZSt22__uninitialized_copy_aIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESC_SB_ET0_T_SE_SD_RSaIT1_E(%"class.boost::detail::stored_edge_iter"* %0, %"class.boost::detail::stored_edge_iter"* %1, %"class.boost::detail::stored_edge_iter"* %2, %"class.std::allocator.13"* %3)
  ret %"class.boost::detail::stored_edge_iter"* %call
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EEE7destroyEPSC_(%"class.__gnu_cxx::new_allocator.14"* %this, %"class.boost::detail::stored_edge_iter"* %__p) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.14"*, align 4
  %__p.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  store %"class.__gnu_cxx::new_allocator.14"* %this, %"class.__gnu_cxx::new_allocator.14"** %this.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %__p, %"class.boost::detail::stored_edge_iter"** %__p.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.14"** %this.addr
  %0 = load %"class.boost::detail::stored_edge_iter"** %__p.addr, align 4
  ret void
}

define linkonce_odr %"class.boost::detail::stored_edge_iter"* @_ZSt22__uninitialized_copy_aIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESC_SB_ET0_T_SE_SD_RSaIT1_E(%"class.boost::detail::stored_edge_iter"* %__first, %"class.boost::detail::stored_edge_iter"* %__last, %"class.boost::detail::stored_edge_iter"* %__result, %"class.std::allocator.13"*) inlinehint {
entry:
  %__first.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__last.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__result.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %.addr = alloca %"class.std::allocator.13"*, align 4
  store %"class.boost::detail::stored_edge_iter"* %__first, %"class.boost::detail::stored_edge_iter"** %__first.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %__last, %"class.boost::detail::stored_edge_iter"** %__last.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %__result, %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  store %"class.std::allocator.13"* %0, %"class.std::allocator.13"** %.addr, align 4
  %1 = load %"class.boost::detail::stored_edge_iter"** %__first.addr, align 4
  %2 = load %"class.boost::detail::stored_edge_iter"** %__last.addr, align 4
  %3 = load %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  %call = call %"class.boost::detail::stored_edge_iter"* @_ZSt18uninitialized_copyIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESC_ET0_T_SE_SD_(%"class.boost::detail::stored_edge_iter"* %1, %"class.boost::detail::stored_edge_iter"* %2, %"class.boost::detail::stored_edge_iter"* %3)
  ret %"class.boost::detail::stored_edge_iter"* %call
}

define linkonce_odr %"class.boost::detail::stored_edge_iter"* @_ZSt18uninitialized_copyIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESC_ET0_T_SE_SD_(%"class.boost::detail::stored_edge_iter"* %__first, %"class.boost::detail::stored_edge_iter"* %__last, %"class.boost::detail::stored_edge_iter"* %__result) inlinehint {
entry:
  %__first.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__last.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__result.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  store %"class.boost::detail::stored_edge_iter"* %__first, %"class.boost::detail::stored_edge_iter"** %__first.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %__last, %"class.boost::detail::stored_edge_iter"** %__last.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %__result, %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  %0 = load %"class.boost::detail::stored_edge_iter"** %__first.addr, align 4
  %1 = load %"class.boost::detail::stored_edge_iter"** %__last.addr, align 4
  %2 = load %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  %call = call %"class.boost::detail::stored_edge_iter"* @_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS2_9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEESA_EESE_EET0_T_SG_SF_(%"class.boost::detail::stored_edge_iter"* %0, %"class.boost::detail::stored_edge_iter"* %1, %"class.boost::detail::stored_edge_iter"* %2)
  ret %"class.boost::detail::stored_edge_iter"* %call
}

define linkonce_odr %"class.boost::detail::stored_edge_iter"* @_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS2_9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEESA_EESE_EET0_T_SG_SF_(%"class.boost::detail::stored_edge_iter"* %__first, %"class.boost::detail::stored_edge_iter"* %__last, %"class.boost::detail::stored_edge_iter"* %__result) align 2 {
entry:
  %__first.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__last.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__result.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__cur = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.boost::detail::stored_edge_iter"* %__first, %"class.boost::detail::stored_edge_iter"** %__first.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %__last, %"class.boost::detail::stored_edge_iter"** %__last.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %__result, %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  %0 = load %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %0, %"class.boost::detail::stored_edge_iter"** %__cur, align 4
  br label %for.cond

for.cond:                                         ; preds = %for.inc, %entry
  %1 = load %"class.boost::detail::stored_edge_iter"** %__first.addr, align 4
  %2 = load %"class.boost::detail::stored_edge_iter"** %__last.addr, align 4
  %cmp = icmp ne %"class.boost::detail::stored_edge_iter"* %1, %2
  br i1 %cmp, label %for.body, label %for.end

for.body:                                         ; preds = %for.cond
  %3 = load %"class.boost::detail::stored_edge_iter"** %__cur, align 4
  %call = invoke %"class.boost::detail::stored_edge_iter"* @_ZSt11__addressofIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EEEPT_RSC_(%"class.boost::detail::stored_edge_iter"* %3)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %for.body
  %4 = load %"class.boost::detail::stored_edge_iter"** %__first.addr, align 4
  invoke void @_ZSt10_ConstructIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESB_EvPT_RKT0_(%"class.boost::detail::stored_edge_iter"* %call, %"class.boost::detail::stored_edge_iter"* %4)
          to label %invoke.cont1 unwind label %lpad

invoke.cont1:                                     ; preds = %invoke.cont
  br label %for.inc

for.inc:                                          ; preds = %invoke.cont1
  %5 = load %"class.boost::detail::stored_edge_iter"** %__first.addr, align 4
  %incdec.ptr = getelementptr inbounds %"class.boost::detail::stored_edge_iter"* %5, i32 1
  store %"class.boost::detail::stored_edge_iter"* %incdec.ptr, %"class.boost::detail::stored_edge_iter"** %__first.addr, align 4
  %6 = load %"class.boost::detail::stored_edge_iter"** %__cur, align 4
  %incdec.ptr2 = getelementptr inbounds %"class.boost::detail::stored_edge_iter"* %6, i32 1
  store %"class.boost::detail::stored_edge_iter"* %incdec.ptr2, %"class.boost::detail::stored_edge_iter"** %__cur, align 4
  br label %for.cond

lpad:                                             ; preds = %invoke.cont, %for.body
  %7 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  %8 = extractvalue { i8*, i32 } %7, 0
  store i8* %8, i8** %exn.slot
  %9 = extractvalue { i8*, i32 } %7, 1
  store i32 %9, i32* %ehselector.slot
  br label %catch

catch:                                            ; preds = %lpad
  %exn = load i8** %exn.slot
  %10 = call i8* @__cxa_begin_catch(i8* %exn) nounwind
  %11 = load %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  %12 = load %"class.boost::detail::stored_edge_iter"** %__cur, align 4
  invoke void @_ZSt8_DestroyIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EEEvT_SD_(%"class.boost::detail::stored_edge_iter"* %11, %"class.boost::detail::stored_edge_iter"* %12)
          to label %invoke.cont4 unwind label %lpad3

invoke.cont4:                                     ; preds = %catch
  invoke void @__cxa_rethrow() noreturn
          to label %unreachable unwind label %lpad3

for.end:                                          ; preds = %for.cond
  %13 = load %"class.boost::detail::stored_edge_iter"** %__cur, align 4
  ret %"class.boost::detail::stored_edge_iter"* %13

lpad3:                                            ; preds = %invoke.cont4, %catch
  %14 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %15 = extractvalue { i8*, i32 } %14, 0
  store i8* %15, i8** %exn.slot
  %16 = extractvalue { i8*, i32 } %14, 1
  store i32 %16, i32* %ehselector.slot
  invoke void @__cxa_end_catch()
          to label %invoke.cont5 unwind label %terminate.lpad

invoke.cont5:                                     ; preds = %lpad3
  br label %eh.resume

try.cont:                                         ; No predecessors!
  call void @llvm.trap()
  unreachable

eh.resume:                                        ; preds = %invoke.cont5
  %exn6 = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn6, 0
  %lpad.val7 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val7

terminate.lpad:                                   ; preds = %lpad3
  %17 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable

unreachable:                                      ; preds = %invoke.cont4
  unreachable
}

define linkonce_odr void @_ZSt10_ConstructIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESB_EvPT_RKT0_(%"class.boost::detail::stored_edge_iter"* %__p, %"class.boost::detail::stored_edge_iter"* %__value) nounwind inlinehint {
entry:
  %__p.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__value.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  store %"class.boost::detail::stored_edge_iter"* %__p, %"class.boost::detail::stored_edge_iter"** %__p.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %__value, %"class.boost::detail::stored_edge_iter"** %__value.addr, align 4
  %0 = load %"class.boost::detail::stored_edge_iter"** %__p.addr, align 4
  %1 = bitcast %"class.boost::detail::stored_edge_iter"* %0 to i8*
  %new.isnull = icmp eq i8* %1, null
  br i1 %new.isnull, label %new.cont, label %new.notnull

new.notnull:                                      ; preds = %entry
  %2 = bitcast i8* %1 to %"class.boost::detail::stored_edge_iter"*
  %3 = load %"class.boost::detail::stored_edge_iter"** %__value.addr, align 4
  %4 = bitcast %"class.boost::detail::stored_edge_iter"* %2 to i8*
  %5 = bitcast %"class.boost::detail::stored_edge_iter"* %3 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %5, i32 8, i32 4, i1 false)
  br label %new.cont

new.cont:                                         ; preds = %new.notnull, %entry
  %6 = phi %"class.boost::detail::stored_edge_iter"* [ %2, %new.notnull ], [ null, %entry ]
  ret void
}

define linkonce_odr %"class.boost::detail::stored_edge_iter"* @_ZSt11__addressofIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EEEPT_RSC_(%"class.boost::detail::stored_edge_iter"* %__r) nounwind inlinehint {
entry:
  %__r.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  store %"class.boost::detail::stored_edge_iter"* %__r, %"class.boost::detail::stored_edge_iter"** %__r.addr, align 4
  %0 = load %"class.boost::detail::stored_edge_iter"** %__r.addr, align 4
  %1 = bitcast %"class.boost::detail::stored_edge_iter"* %0 to i8*
  %2 = bitcast i8* %1 to %"class.boost::detail::stored_edge_iter"*
  ret %"class.boost::detail::stored_edge_iter"* %2
}

define linkonce_odr %"class.boost::detail::stored_edge_iter"* @_ZN9__gnu_cxx13new_allocatorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EEE8allocateEjPKv(%"class.__gnu_cxx::new_allocator.14"* %this, i32 %__n, i8*) align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.14"*, align 4
  %__n.addr = alloca i32, align 4
  %.addr = alloca i8*, align 4
  store %"class.__gnu_cxx::new_allocator.14"* %this, %"class.__gnu_cxx::new_allocator.14"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store i8* %0, i8** %.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.14"** %this.addr
  %1 = load i32* %__n.addr, align 4
  %call = call i32 @_ZNK9__gnu_cxx13new_allocatorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EEE8max_sizeEv(%"class.__gnu_cxx::new_allocator.14"* %this1) nounwind
  %cmp = icmp ugt i32 %1, %call
  br i1 %cmp, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  call void @_ZSt17__throw_bad_allocv() noreturn
  unreachable

if.end:                                           ; preds = %entry
  %2 = load i32* %__n.addr, align 4
  %mul = mul i32 %2, 8
  %call2 = call noalias i8* @_Znwj(i32 %mul)
  %3 = bitcast i8* %call2 to %"class.boost::detail::stored_edge_iter"*
  ret %"class.boost::detail::stored_edge_iter"* %3
}

define linkonce_odr i32 @_ZNK9__gnu_cxx13new_allocatorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EEE8max_sizeEv(%"class.__gnu_cxx::new_allocator.14"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.14"*, align 4
  store %"class.__gnu_cxx::new_allocator.14"* %this, %"class.__gnu_cxx::new_allocator.14"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.14"** %this.addr
  ret i32 536870911
}

define linkonce_odr i32 @_ZNKSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE8max_sizeEv(%"class.std::vector.11"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.11"*, align 4
  store %"class.std::vector.11"* %this, %"class.std::vector.11"** %this.addr, align 4
  %this1 = load %"class.std::vector.11"** %this.addr
  %0 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %call = call %"class.std::allocator.13"* @_ZNKSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.12"* %0)
  %1 = bitcast %"class.std::allocator.13"* %call to %"class.__gnu_cxx::new_allocator.14"*
  %call2 = call i32 @_ZNK9__gnu_cxx13new_allocatorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EEE8max_sizeEv(%"class.__gnu_cxx::new_allocator.14"* %1) nounwind
  ret i32 %call2
}

define linkonce_odr i32 @_ZNKSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE4sizeEv(%"class.std::vector.11"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::vector.11"*, align 4
  store %"class.std::vector.11"* %this, %"class.std::vector.11"** %this.addr, align 4
  %this1 = load %"class.std::vector.11"** %this.addr
  %0 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.12"* %0, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl, i32 0, i32 1
  %1 = load %"class.boost::detail::stored_edge_iter"** %_M_finish, align 4
  %2 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base.12"* %2, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl2, i32 0, i32 0
  %3 = load %"class.boost::detail::stored_edge_iter"** %_M_start, align 4
  %sub.ptr.lhs.cast = ptrtoint %"class.boost::detail::stored_edge_iter"* %1 to i32
  %sub.ptr.rhs.cast = ptrtoint %"class.boost::detail::stored_edge_iter"* %3 to i32
  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  %sub.ptr.div = sdiv exact i32 %sub.ptr.sub, 8
  ret i32 %sub.ptr.div
}

define linkonce_odr %"class.std::allocator.13"* @_ZNKSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.12"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base.12"*, align 4
  store %"struct.std::_Vector_base.12"* %this, %"struct.std::_Vector_base.12"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base.12"** %this.addr
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.12"* %this1, i32 0, i32 0
  %0 = bitcast %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl to %"class.std::allocator.13"*
  ret %"class.std::allocator.13"* %0
}

define linkonce_odr %"class.boost::detail::stored_edge"* @_ZN5boost6detail11stored_edgeIjEaSERKS2_(%"class.boost::detail::stored_edge"* %this, %"class.boost::detail::stored_edge"* %x) nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::stored_edge"*, align 4
  %x.addr = alloca %"class.boost::detail::stored_edge"*, align 4
  store %"class.boost::detail::stored_edge"* %this, %"class.boost::detail::stored_edge"** %this.addr, align 4
  store %"class.boost::detail::stored_edge"* %x, %"class.boost::detail::stored_edge"** %x.addr, align 4
  %this1 = load %"class.boost::detail::stored_edge"** %this.addr
  %0 = load %"class.boost::detail::stored_edge"** %x.addr, align 4
  %m_target = getelementptr inbounds %"class.boost::detail::stored_edge"* %0, i32 0, i32 0
  %1 = load i32* %m_target, align 4
  %m_target2 = getelementptr inbounds %"class.boost::detail::stored_edge"* %this1, i32 0, i32 0
  store i32 %1, i32* %m_target2, align 4
  ret %"class.boost::detail::stored_edge"* %this1
}

define linkonce_odr %"class.boost::detail::stored_edge_iter"* @_ZSt23__copy_move_backward_a2ILb0EPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESC_ET1_T0_SE_SD_(%"class.boost::detail::stored_edge_iter"* %__first, %"class.boost::detail::stored_edge_iter"* %__last, %"class.boost::detail::stored_edge_iter"* %__result) inlinehint {
entry:
  %__first.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__last.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__result.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  store %"class.boost::detail::stored_edge_iter"* %__first, %"class.boost::detail::stored_edge_iter"** %__first.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %__last, %"class.boost::detail::stored_edge_iter"** %__last.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %__result, %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  %0 = load %"class.boost::detail::stored_edge_iter"** %__first.addr, align 4
  %call = call %"class.boost::detail::stored_edge_iter"* @_ZSt12__niter_baseIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EEENSt11_Niter_baseIT_E13iterator_typeESE_(%"class.boost::detail::stored_edge_iter"* %0)
  %1 = load %"class.boost::detail::stored_edge_iter"** %__last.addr, align 4
  %call1 = call %"class.boost::detail::stored_edge_iter"* @_ZSt12__niter_baseIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EEENSt11_Niter_baseIT_E13iterator_typeESE_(%"class.boost::detail::stored_edge_iter"* %1)
  %2 = load %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  %call2 = call %"class.boost::detail::stored_edge_iter"* @_ZSt12__niter_baseIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EEENSt11_Niter_baseIT_E13iterator_typeESE_(%"class.boost::detail::stored_edge_iter"* %2)
  %call3 = call %"class.boost::detail::stored_edge_iter"* @_ZSt22__copy_move_backward_aILb0EPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESC_ET1_T0_SE_SD_(%"class.boost::detail::stored_edge_iter"* %call, %"class.boost::detail::stored_edge_iter"* %call1, %"class.boost::detail::stored_edge_iter"* %call2)
  ret %"class.boost::detail::stored_edge_iter"* %call3
}

define linkonce_odr %"class.boost::detail::stored_edge_iter"* @_ZSt12__miter_baseIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EEENSt11_Miter_baseIT_E13iterator_typeESE_(%"class.boost::detail::stored_edge_iter"* %__it) inlinehint {
entry:
  %__it.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  store %"class.boost::detail::stored_edge_iter"* %__it, %"class.boost::detail::stored_edge_iter"** %__it.addr, align 4
  %0 = load %"class.boost::detail::stored_edge_iter"** %__it.addr, align 4
  %call = call %"class.boost::detail::stored_edge_iter"* @_ZNSt10_Iter_baseIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EELb0EE7_S_baseESC_(%"class.boost::detail::stored_edge_iter"* %0)
  ret %"class.boost::detail::stored_edge_iter"* %call
}

define linkonce_odr %"class.boost::detail::stored_edge_iter"* @_ZNSt10_Iter_baseIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EELb0EE7_S_baseESC_(%"class.boost::detail::stored_edge_iter"* %__it) nounwind align 2 {
entry:
  %__it.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  store %"class.boost::detail::stored_edge_iter"* %__it, %"class.boost::detail::stored_edge_iter"** %__it.addr, align 4
  %0 = load %"class.boost::detail::stored_edge_iter"** %__it.addr, align 4
  ret %"class.boost::detail::stored_edge_iter"* %0
}

define linkonce_odr %"class.boost::detail::stored_edge_iter"* @_ZSt22__copy_move_backward_aILb0EPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESC_ET1_T0_SE_SD_(%"class.boost::detail::stored_edge_iter"* %__first, %"class.boost::detail::stored_edge_iter"* %__last, %"class.boost::detail::stored_edge_iter"* %__result) inlinehint {
entry:
  %__first.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__last.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__result.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__simple = alloca i8, align 1
  store %"class.boost::detail::stored_edge_iter"* %__first, %"class.boost::detail::stored_edge_iter"** %__first.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %__last, %"class.boost::detail::stored_edge_iter"** %__last.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %__result, %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  store i8 0, i8* %__simple, align 1
  %0 = load %"class.boost::detail::stored_edge_iter"** %__first.addr, align 4
  %1 = load %"class.boost::detail::stored_edge_iter"** %__last.addr, align 4
  %2 = load %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  %call = call %"class.boost::detail::stored_edge_iter"* @_ZNSt20__copy_move_backwardILb0ELb0ESt26random_access_iterator_tagE13__copy_move_bIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS3_9list_edgeIjNS3_8propertyINS3_13edge_weight_tEiNS3_11no_propertyEEEEEESB_EESF_EET0_T_SH_SG_(%"class.boost::detail::stored_edge_iter"* %0, %"class.boost::detail::stored_edge_iter"* %1, %"class.boost::detail::stored_edge_iter"* %2)
  ret %"class.boost::detail::stored_edge_iter"* %call
}

define linkonce_odr %"class.boost::detail::stored_edge_iter"* @_ZSt12__niter_baseIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EEENSt11_Niter_baseIT_E13iterator_typeESE_(%"class.boost::detail::stored_edge_iter"* %__it) nounwind inlinehint {
entry:
  %__it.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  store %"class.boost::detail::stored_edge_iter"* %__it, %"class.boost::detail::stored_edge_iter"** %__it.addr, align 4
  %0 = load %"class.boost::detail::stored_edge_iter"** %__it.addr, align 4
  %call = call %"class.boost::detail::stored_edge_iter"* @_ZNSt10_Iter_baseIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EELb0EE7_S_baseESC_(%"class.boost::detail::stored_edge_iter"* %0)
  ret %"class.boost::detail::stored_edge_iter"* %call
}

define linkonce_odr %"class.boost::detail::stored_edge_iter"* @_ZNSt20__copy_move_backwardILb0ELb0ESt26random_access_iterator_tagE13__copy_move_bIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS3_9list_edgeIjNS3_8propertyINS3_13edge_weight_tEiNS3_11no_propertyEEEEEESB_EESF_EET0_T_SH_SG_(%"class.boost::detail::stored_edge_iter"* %__first, %"class.boost::detail::stored_edge_iter"* %__last, %"class.boost::detail::stored_edge_iter"* %__result) align 2 {
entry:
  %__first.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__last.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__result.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__n = alloca i32, align 4
  store %"class.boost::detail::stored_edge_iter"* %__first, %"class.boost::detail::stored_edge_iter"** %__first.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %__last, %"class.boost::detail::stored_edge_iter"** %__last.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %__result, %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  %0 = load %"class.boost::detail::stored_edge_iter"** %__last.addr, align 4
  %1 = load %"class.boost::detail::stored_edge_iter"** %__first.addr, align 4
  %sub.ptr.lhs.cast = ptrtoint %"class.boost::detail::stored_edge_iter"* %0 to i32
  %sub.ptr.rhs.cast = ptrtoint %"class.boost::detail::stored_edge_iter"* %1 to i32
  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  %sub.ptr.div = sdiv exact i32 %sub.ptr.sub, 8
  store i32 %sub.ptr.div, i32* %__n, align 4
  br label %for.cond

for.cond:                                         ; preds = %for.inc, %entry
  %2 = load i32* %__n, align 4
  %cmp = icmp sgt i32 %2, 0
  br i1 %cmp, label %for.body, label %for.end

for.body:                                         ; preds = %for.cond
  %3 = load %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  %incdec.ptr = getelementptr inbounds %"class.boost::detail::stored_edge_iter"* %3, i32 -1
  store %"class.boost::detail::stored_edge_iter"* %incdec.ptr, %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  %4 = load %"class.boost::detail::stored_edge_iter"** %__last.addr, align 4
  %incdec.ptr1 = getelementptr inbounds %"class.boost::detail::stored_edge_iter"* %4, i32 -1
  store %"class.boost::detail::stored_edge_iter"* %incdec.ptr1, %"class.boost::detail::stored_edge_iter"** %__last.addr, align 4
  %call = call %"class.boost::detail::stored_edge_iter"* @_ZN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEES7_EaSERKSA_(%"class.boost::detail::stored_edge_iter"* %incdec.ptr, %"class.boost::detail::stored_edge_iter"* %incdec.ptr1)
  br label %for.inc

for.inc:                                          ; preds = %for.body
  %5 = load i32* %__n, align 4
  %dec = add nsw i32 %5, -1
  store i32 %dec, i32* %__n, align 4
  br label %for.cond

for.end:                                          ; preds = %for.cond
  %6 = load %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  ret %"class.boost::detail::stored_edge_iter"* %6
}

define linkonce_odr void @_ZN5boost6tuples5tupleIRN9__gnu_cxx17__normal_iteratorIPNS_6detail16stored_edge_iterIjSt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEESB_EESt6vectorISE_SaISE_EEEERbNS0_9null_typeESM_SM_SM_SM_SM_SM_SM_EC1ESK_SL_(%"class.boost::tuples::tuple.39"* %this, %"class.__gnu_cxx::__normal_iterator.38"* %t0, i8* %t1) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::tuples::tuple.39"*, align 4
  %t0.addr = alloca %"class.__gnu_cxx::__normal_iterator.38"*, align 4
  %t1.addr = alloca i8*, align 4
  store %"class.boost::tuples::tuple.39"* %this, %"class.boost::tuples::tuple.39"** %this.addr, align 4
  store %"class.__gnu_cxx::__normal_iterator.38"* %t0, %"class.__gnu_cxx::__normal_iterator.38"** %t0.addr, align 4
  store i8* %t1, i8** %t1.addr, align 4
  %this1 = load %"class.boost::tuples::tuple.39"** %this.addr
  %0 = load i8** %t1.addr
  %1 = load %"class.__gnu_cxx::__normal_iterator.38"** %t0.addr
  call void @_ZN5boost6tuples5tupleIRN9__gnu_cxx17__normal_iteratorIPNS_6detail16stored_edge_iterIjSt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEESB_EESt6vectorISE_SaISE_EEEERbNS0_9null_typeESM_SM_SM_SM_SM_SM_SM_EC2ESK_SL_(%"class.boost::tuples::tuple.39"* %this1, %"class.__gnu_cxx::__normal_iterator.38"* %1, i8* %0)
  ret void
}

define linkonce_odr void @_ZN5boost6tuples5tupleIRN9__gnu_cxx17__normal_iteratorIPNS_6detail16stored_edge_iterIjSt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEESB_EESt6vectorISE_SaISE_EEEERbNS0_9null_typeESM_SM_SM_SM_SM_SM_SM_EC2ESK_SL_(%"class.boost::tuples::tuple.39"* %this, %"class.__gnu_cxx::__normal_iterator.38"* %t0, i8* %t1) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::tuples::tuple.39"*, align 4
  %t0.addr = alloca %"class.__gnu_cxx::__normal_iterator.38"*, align 4
  %t1.addr = alloca i8*, align 4
  %ref.tmp = alloca %"struct.boost::tuples::null_type", align 1
  %ref.tmp2 = alloca %"struct.boost::tuples::null_type", align 1
  %ref.tmp3 = alloca %"struct.boost::tuples::null_type", align 1
  %ref.tmp4 = alloca %"struct.boost::tuples::null_type", align 1
  %ref.tmp5 = alloca %"struct.boost::tuples::null_type", align 1
  %ref.tmp6 = alloca %"struct.boost::tuples::null_type", align 1
  %ref.tmp7 = alloca %"struct.boost::tuples::null_type", align 1
  %ref.tmp8 = alloca %"struct.boost::tuples::null_type", align 1
  store %"class.boost::tuples::tuple.39"* %this, %"class.boost::tuples::tuple.39"** %this.addr, align 4
  store %"class.__gnu_cxx::__normal_iterator.38"* %t0, %"class.__gnu_cxx::__normal_iterator.38"** %t0.addr, align 4
  store i8* %t1, i8** %t1.addr, align 4
  %this1 = load %"class.boost::tuples::tuple.39"** %this.addr
  %0 = bitcast %"class.boost::tuples::tuple.39"* %this1 to %"struct.boost::tuples::cons.40"*
  %1 = load %"class.__gnu_cxx::__normal_iterator.38"** %t0.addr, align 4
  %2 = load i8** %t1.addr, align 4
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp)
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp2)
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp3)
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp4)
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp5)
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp6)
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp7)
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp8)
  call void @_ZN5boost6tuples4consIRN9__gnu_cxx17__normal_iteratorIPNS_6detail16stored_edge_iterIjSt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEESB_EESt6vectorISE_SaISE_EEEENS1_IRbNS0_9null_typeEEEEC2ISJ_bKSM_SQ_SQ_SQ_SQ_SQ_SQ_SQ_EERT_RT0_RT1_RT2_RT3_RT4_RT5_RT6_RT7_RT8_(%"struct.boost::tuples::cons.40"* %0, %"class.__gnu_cxx::__normal_iterator.38"* %1, i8* %2, %"struct.boost::tuples::null_type"* %ref.tmp, %"struct.boost::tuples::null_type"* %ref.tmp2, %"struct.boost::tuples::null_type"* %ref.tmp3, %"struct.boost::tuples::null_type"* %ref.tmp4, %"struct.boost::tuples::null_type"* %ref.tmp5, %"struct.boost::tuples::null_type"* %ref.tmp6, %"struct.boost::tuples::null_type"* %ref.tmp7, %"struct.boost::tuples::null_type"* %ref.tmp8)
  ret void
}

define linkonce_odr void @_ZN5boost6tuples4consIRN9__gnu_cxx17__normal_iteratorIPNS_6detail16stored_edge_iterIjSt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEESB_EESt6vectorISE_SaISE_EEEENS1_IRbNS0_9null_typeEEEEC2ISJ_bKSM_SQ_SQ_SQ_SQ_SQ_SQ_SQ_EERT_RT0_RT1_RT2_RT3_RT4_RT5_RT6_RT7_RT8_(%"struct.boost::tuples::cons.40"* %this, %"class.__gnu_cxx::__normal_iterator.38"* %t1, i8* %t2, %"struct.boost::tuples::null_type"* %t3, %"struct.boost::tuples::null_type"* %t4, %"struct.boost::tuples::null_type"* %t5, %"struct.boost::tuples::null_type"* %t6, %"struct.boost::tuples::null_type"* %t7, %"struct.boost::tuples::null_type"* %t8, %"struct.boost::tuples::null_type"* %t9, %"struct.boost::tuples::null_type"* %t10) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::tuples::cons.40"*, align 4
  %t1.addr = alloca %"class.__gnu_cxx::__normal_iterator.38"*, align 4
  %t2.addr = alloca i8*, align 4
  %t3.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %t4.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %t5.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %t6.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %t7.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %t8.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %t9.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %t10.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %ref.tmp = alloca %"struct.boost::tuples::null_type", align 1
  store %"struct.boost::tuples::cons.40"* %this, %"struct.boost::tuples::cons.40"** %this.addr, align 4
  store %"class.__gnu_cxx::__normal_iterator.38"* %t1, %"class.__gnu_cxx::__normal_iterator.38"** %t1.addr, align 4
  store i8* %t2, i8** %t2.addr, align 4
  store %"struct.boost::tuples::null_type"* %t3, %"struct.boost::tuples::null_type"** %t3.addr, align 4
  store %"struct.boost::tuples::null_type"* %t4, %"struct.boost::tuples::null_type"** %t4.addr, align 4
  store %"struct.boost::tuples::null_type"* %t5, %"struct.boost::tuples::null_type"** %t5.addr, align 4
  store %"struct.boost::tuples::null_type"* %t6, %"struct.boost::tuples::null_type"** %t6.addr, align 4
  store %"struct.boost::tuples::null_type"* %t7, %"struct.boost::tuples::null_type"** %t7.addr, align 4
  store %"struct.boost::tuples::null_type"* %t8, %"struct.boost::tuples::null_type"** %t8.addr, align 4
  store %"struct.boost::tuples::null_type"* %t9, %"struct.boost::tuples::null_type"** %t9.addr, align 4
  store %"struct.boost::tuples::null_type"* %t10, %"struct.boost::tuples::null_type"** %t10.addr, align 4
  %this1 = load %"struct.boost::tuples::cons.40"** %this.addr
  %0 = getelementptr inbounds %"struct.boost::tuples::cons.40"* %this1, i32 0, i32 0
  %1 = load %"class.__gnu_cxx::__normal_iterator.38"** %t1.addr, align 4
  store %"class.__gnu_cxx::__normal_iterator.38"* %1, %"class.__gnu_cxx::__normal_iterator.38"** %0, align 4
  %tail = getelementptr inbounds %"struct.boost::tuples::cons.40"* %this1, i32 0, i32 1
  %2 = load i8** %t2.addr, align 4
  %3 = load %"struct.boost::tuples::null_type"** %t3.addr, align 4
  %4 = load %"struct.boost::tuples::null_type"** %t4.addr, align 4
  %5 = load %"struct.boost::tuples::null_type"** %t5.addr, align 4
  %6 = load %"struct.boost::tuples::null_type"** %t6.addr, align 4
  %7 = load %"struct.boost::tuples::null_type"** %t7.addr, align 4
  %8 = load %"struct.boost::tuples::null_type"** %t8.addr, align 4
  %9 = load %"struct.boost::tuples::null_type"** %t9.addr, align 4
  %10 = load %"struct.boost::tuples::null_type"** %t10.addr, align 4
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp)
  call void @_ZN5boost6tuples4consIRbNS0_9null_typeEEC1IbEERT_RKS3_S9_S9_S9_S9_S9_S9_S9_S9_(%"struct.boost::tuples::cons.41"* %tail, i8* %2, %"struct.boost::tuples::null_type"* %3, %"struct.boost::tuples::null_type"* %4, %"struct.boost::tuples::null_type"* %5, %"struct.boost::tuples::null_type"* %6, %"struct.boost::tuples::null_type"* %7, %"struct.boost::tuples::null_type"* %8, %"struct.boost::tuples::null_type"* %9, %"struct.boost::tuples::null_type"* %10, %"struct.boost::tuples::null_type"* %ref.tmp)
  ret void
}

define linkonce_odr void @_ZN5boost6tuples4consIRbNS0_9null_typeEEC1IbEERT_RKS3_S9_S9_S9_S9_S9_S9_S9_S9_(%"struct.boost::tuples::cons.41"* %this, i8* %t1, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::tuples::cons.41"*, align 4
  %t1.addr = alloca i8*, align 4
  %.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr1 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr2 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr3 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr4 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr5 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr6 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr7 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr8 = alloca %"struct.boost::tuples::null_type"*, align 4
  store %"struct.boost::tuples::cons.41"* %this, %"struct.boost::tuples::cons.41"** %this.addr, align 4
  store i8* %t1, i8** %t1.addr, align 4
  store %"struct.boost::tuples::null_type"* %0, %"struct.boost::tuples::null_type"** %.addr, align 4
  store %"struct.boost::tuples::null_type"* %1, %"struct.boost::tuples::null_type"** %.addr1, align 4
  store %"struct.boost::tuples::null_type"* %2, %"struct.boost::tuples::null_type"** %.addr2, align 4
  store %"struct.boost::tuples::null_type"* %3, %"struct.boost::tuples::null_type"** %.addr3, align 4
  store %"struct.boost::tuples::null_type"* %4, %"struct.boost::tuples::null_type"** %.addr4, align 4
  store %"struct.boost::tuples::null_type"* %5, %"struct.boost::tuples::null_type"** %.addr5, align 4
  store %"struct.boost::tuples::null_type"* %6, %"struct.boost::tuples::null_type"** %.addr6, align 4
  store %"struct.boost::tuples::null_type"* %7, %"struct.boost::tuples::null_type"** %.addr7, align 4
  store %"struct.boost::tuples::null_type"* %8, %"struct.boost::tuples::null_type"** %.addr8, align 4
  %this9 = load %"struct.boost::tuples::cons.41"** %this.addr
  %9 = load i8** %t1.addr
  %10 = load %"struct.boost::tuples::null_type"** %.addr
  %11 = load %"struct.boost::tuples::null_type"** %.addr1
  %12 = load %"struct.boost::tuples::null_type"** %.addr2
  %13 = load %"struct.boost::tuples::null_type"** %.addr3
  %14 = load %"struct.boost::tuples::null_type"** %.addr4
  %15 = load %"struct.boost::tuples::null_type"** %.addr5
  %16 = load %"struct.boost::tuples::null_type"** %.addr6
  %17 = load %"struct.boost::tuples::null_type"** %.addr7
  %18 = load %"struct.boost::tuples::null_type"** %.addr8
  call void @_ZN5boost6tuples4consIRbNS0_9null_typeEEC2IbEERT_RKS3_S9_S9_S9_S9_S9_S9_S9_S9_(%"struct.boost::tuples::cons.41"* %this9, i8* %9, %"struct.boost::tuples::null_type"* %10, %"struct.boost::tuples::null_type"* %11, %"struct.boost::tuples::null_type"* %12, %"struct.boost::tuples::null_type"* %13, %"struct.boost::tuples::null_type"* %14, %"struct.boost::tuples::null_type"* %15, %"struct.boost::tuples::null_type"* %16, %"struct.boost::tuples::null_type"* %17, %"struct.boost::tuples::null_type"* %18)
  ret void
}

define linkonce_odr void @_ZN5boost6tuples4consIRbNS0_9null_typeEEC2IbEERT_RKS3_S9_S9_S9_S9_S9_S9_S9_S9_(%"struct.boost::tuples::cons.41"* %this, i8* %t1, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::tuples::cons.41"*, align 4
  %t1.addr = alloca i8*, align 4
  %.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr1 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr2 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr3 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr4 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr5 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr6 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr7 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr8 = alloca %"struct.boost::tuples::null_type"*, align 4
  store %"struct.boost::tuples::cons.41"* %this, %"struct.boost::tuples::cons.41"** %this.addr, align 4
  store i8* %t1, i8** %t1.addr, align 4
  store %"struct.boost::tuples::null_type"* %0, %"struct.boost::tuples::null_type"** %.addr, align 4
  store %"struct.boost::tuples::null_type"* %1, %"struct.boost::tuples::null_type"** %.addr1, align 4
  store %"struct.boost::tuples::null_type"* %2, %"struct.boost::tuples::null_type"** %.addr2, align 4
  store %"struct.boost::tuples::null_type"* %3, %"struct.boost::tuples::null_type"** %.addr3, align 4
  store %"struct.boost::tuples::null_type"* %4, %"struct.boost::tuples::null_type"** %.addr4, align 4
  store %"struct.boost::tuples::null_type"* %5, %"struct.boost::tuples::null_type"** %.addr5, align 4
  store %"struct.boost::tuples::null_type"* %6, %"struct.boost::tuples::null_type"** %.addr6, align 4
  store %"struct.boost::tuples::null_type"* %7, %"struct.boost::tuples::null_type"** %.addr7, align 4
  store %"struct.boost::tuples::null_type"* %8, %"struct.boost::tuples::null_type"** %.addr8, align 4
  %this9 = load %"struct.boost::tuples::cons.41"** %this.addr
  %9 = getelementptr inbounds %"struct.boost::tuples::cons.41"* %this9, i32 0, i32 0
  %10 = load i8** %t1.addr, align 4
  store i8* %10, i8** %9, align 4
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EESt6vectorISC_SaISC_EEEC2Ev(%"class.__gnu_cxx::__normal_iterator.38"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.38"*, align 4
  store %"class.__gnu_cxx::__normal_iterator.38"* %this, %"class.__gnu_cxx::__normal_iterator.38"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.38"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.38"* %this1, i32 0, i32 0
  store %"class.boost::detail::stored_edge_iter"* null, %"class.boost::detail::stored_edge_iter"** %_M_current, align 4
  ret void
}

define linkonce_odr void @_ZN5boost12graph_detail13push_dispatchISt4listINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEESaIS8_EES8_EESt4pairINT_8iteratorEbERSC_RKT0_NS0_27back_insertion_sequence_tagE(%"struct.std::pair.37"* noalias sret %agg.result, %"class.std::list"* %c, %"struct.boost::list_edge"* %v, %"struct.boost::graph_detail::back_insertion_sequence_tag"*) {
entry:
  %c.addr = alloca %"class.std::list"*, align 4
  %v.addr = alloca %"struct.boost::list_edge"*, align 4
  %agg.tmp = alloca %"struct.std::_List_iterator", align 4
  %agg.tmp1 = alloca %"struct.std::_List_iterator", align 4
  store %"class.std::list"* %c, %"class.std::list"** %c.addr, align 4
  store %"struct.boost::list_edge"* %v, %"struct.boost::list_edge"** %v.addr, align 4
  %1 = load %"class.std::list"** %c.addr, align 4
  %2 = load %"struct.boost::list_edge"** %v.addr, align 4
  call void @_ZNSt4listIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EE9push_backERKS6_(%"class.std::list"* %1, %"struct.boost::list_edge"* %2)
  %3 = load %"class.std::list"** %c.addr, align 4
  call void @_ZNSt4listIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EE3endEv(%"struct.std::_List_iterator"* sret %agg.tmp1, %"class.std::list"* %3)
  call void @_ZN5boost5priorISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEEEET_S9_(%"struct.std::_List_iterator"* sret %agg.tmp, %"struct.std::_List_iterator"* byval align 4 %agg.tmp1)
  call void @_ZSt9make_pairISt14_List_iteratorIN5boost9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEEbESt4pairIT_T0_ESA_SB_(%"struct.std::pair.37"* sret %agg.result, %"struct.std::_List_iterator"* byval align 4 %agg.tmp, i1 zeroext true)
  ret void
}

define linkonce_odr void @_ZN5boost12graph_detail18container_categoryINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEESaIS7_EEENS0_8list_tagERKSt4listIT_T0_E(%"struct.boost::graph_detail::list_tag"* noalias sret %agg.result, %"class.std::list"*) nounwind {
entry:
  %.addr = alloca %"class.std::list"*, align 4
  store %"class.std::list"* %0, %"class.std::list"** %.addr, align 4
  %1 = bitcast %"struct.boost::graph_detail::list_tag"* %agg.result to i8*
  call void @llvm.memset.p0i8.i32(i8* %1, i8 0, i32 8, i32 4, i1 false)
  call void @_ZN5boost12graph_detail8list_tagC1Ev(%"struct.boost::graph_detail::list_tag"* %agg.result) nounwind
  ret void
}

define linkonce_odr void @_ZN5boost12graph_detail8list_tagC1Ev(%"struct.boost::graph_detail::list_tag"* %this) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::graph_detail::list_tag"*, align 4
  store %"struct.boost::graph_detail::list_tag"* %this, %"struct.boost::graph_detail::list_tag"** %this.addr, align 4
  %this1 = load %"struct.boost::graph_detail::list_tag"** %this.addr
  %0 = bitcast %"struct.boost::graph_detail::list_tag"* %this1 to %"struct.boost::graph_detail::container_tag"*
  %1 = bitcast %"struct.boost::graph_detail::list_tag"* %this1 to %"struct.boost::graph_detail::forward_container_tag"*
  call void @_ZN5boost12graph_detail21forward_container_tagC2Ev(%"struct.boost::graph_detail::forward_container_tag"* %1, i8** getelementptr inbounds ([13 x i8*]* @_ZTTN5boost12graph_detail8list_tagE, i64 0, i64 7)) nounwind
  %2 = bitcast %"struct.boost::graph_detail::list_tag"* %this1 to %"struct.boost::graph_detail::reversible_container_tag"*
  call void @_ZN5boost12graph_detail24reversible_container_tagC2Ev(%"struct.boost::graph_detail::reversible_container_tag"* %2, i8** getelementptr inbounds ([13 x i8*]* @_ZTTN5boost12graph_detail8list_tagE, i64 0, i64 5)) nounwind
  %3 = bitcast %"struct.boost::graph_detail::list_tag"* %this1 to i8*
  %4 = getelementptr inbounds i8* %3, i64 4
  %5 = bitcast i8* %4 to %"struct.boost::graph_detail::sequence_tag"*
  call void @_ZN5boost12graph_detail12sequence_tagC2Ev(%"struct.boost::graph_detail::sequence_tag"* %5, i8** getelementptr inbounds ([13 x i8*]* @_ZTTN5boost12graph_detail8list_tagE, i64 0, i64 11)) nounwind
  %6 = bitcast %"struct.boost::graph_detail::list_tag"* %this1 to i8*
  %7 = getelementptr inbounds i8* %6, i64 4
  %8 = bitcast i8* %7 to %"struct.boost::graph_detail::back_insertion_sequence_tag"*
  call void @_ZN5boost12graph_detail27back_insertion_sequence_tagC2Ev(%"struct.boost::graph_detail::back_insertion_sequence_tag"* %8, i8** getelementptr inbounds ([13 x i8*]* @_ZTTN5boost12graph_detail8list_tagE, i64 0, i64 8)) nounwind
  %9 = bitcast %"struct.boost::graph_detail::list_tag"* %this1 to i8***
  store i8** getelementptr inbounds ([12 x i8*]* @_ZTVN5boost12graph_detail8list_tagE, i64 0, i64 7), i8*** %9
  %10 = bitcast %"struct.boost::graph_detail::list_tag"* %this1 to i8***
  store i8** getelementptr inbounds ([12 x i8*]* @_ZTVN5boost12graph_detail8list_tagE, i64 0, i64 7), i8*** %10
  %11 = bitcast %"struct.boost::graph_detail::list_tag"* %this1 to i8***
  store i8** getelementptr inbounds ([12 x i8*]* @_ZTVN5boost12graph_detail8list_tagE, i64 0, i64 7), i8*** %11
  %12 = bitcast %"struct.boost::graph_detail::list_tag"* %this1 to i8*
  %add.ptr = getelementptr inbounds i8* %12, i32 4
  %13 = bitcast i8* %add.ptr to i8***
  store i8** getelementptr inbounds ([12 x i8*]* @_ZTVN5boost12graph_detail8list_tagE, i64 1, i64 0), i8*** %13
  %14 = bitcast %"struct.boost::graph_detail::list_tag"* %this1 to i8*
  %add.ptr2 = getelementptr inbounds i8* %14, i32 4
  %15 = bitcast i8* %add.ptr2 to i8***
  store i8** getelementptr inbounds ([12 x i8*]* @_ZTVN5boost12graph_detail8list_tagE, i64 1, i64 0), i8*** %15
  ret void
}

define linkonce_odr void @_ZNSt4listIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EE9push_backERKS6_(%"class.std::list"* %this, %"struct.boost::list_edge"* %__x) align 2 {
entry:
  %this.addr = alloca %"class.std::list"*, align 4
  %__x.addr = alloca %"struct.boost::list_edge"*, align 4
  %agg.tmp = alloca %"struct.std::_List_iterator", align 4
  store %"class.std::list"* %this, %"class.std::list"** %this.addr, align 4
  store %"struct.boost::list_edge"* %__x, %"struct.boost::list_edge"** %__x.addr, align 4
  %this1 = load %"class.std::list"** %this.addr
  call void @_ZNSt4listIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EE3endEv(%"struct.std::_List_iterator"* sret %agg.tmp, %"class.std::list"* %this1)
  %0 = load %"struct.boost::list_edge"** %__x.addr, align 4
  call void @_ZNSt4listIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EE9_M_insertESt14_List_iteratorIS6_ERKS6_(%"class.std::list"* %this1, %"struct.std::_List_iterator"* byval align 4 %agg.tmp, %"struct.boost::list_edge"* %0)
  ret void
}

define linkonce_odr void @_ZSt9make_pairISt14_List_iteratorIN5boost9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEEbESt4pairIT_T0_ESA_SB_(%"struct.std::pair.37"* noalias sret %agg.result, %"struct.std::_List_iterator"* byval align 4 %__x, i1 zeroext %__y) inlinehint {
entry:
  %__y.addr = alloca i8, align 1
  %frombool = zext i1 %__y to i8
  store i8 %frombool, i8* %__y.addr, align 1
  call void @_ZNSt4pairISt14_List_iteratorIN5boost9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEEbEC1ERKS8_RKb(%"struct.std::pair.37"* %agg.result, %"struct.std::_List_iterator"* %__x, i8* %__y.addr)
  ret void
}

define linkonce_odr void @_ZN5boost5priorISt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEEEET_S9_(%"struct.std::_List_iterator"* noalias sret %agg.result, %"struct.std::_List_iterator"* byval align 4 %x) inlinehint {
entry:
  %call = call %"struct.std::_List_iterator"* @_ZNSt14_List_iteratorIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEEmmEv(%"struct.std::_List_iterator"* %x)
  %0 = bitcast %"struct.std::_List_iterator"* %agg.result to i8*
  %1 = bitcast %"struct.std::_List_iterator"* %call to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 4, i32 4, i1 false)
  ret void
}

define linkonce_odr %"struct.std::_List_iterator"* @_ZNSt14_List_iteratorIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEEmmEv(%"struct.std::_List_iterator"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::_List_iterator"*, align 4
  store %"struct.std::_List_iterator"* %this, %"struct.std::_List_iterator"** %this.addr, align 4
  %this1 = load %"struct.std::_List_iterator"** %this.addr
  %_M_node = getelementptr inbounds %"struct.std::_List_iterator"* %this1, i32 0, i32 0
  %0 = load %"struct.std::__detail::_List_node_base"** %_M_node, align 4
  %_M_prev = getelementptr inbounds %"struct.std::__detail::_List_node_base"* %0, i32 0, i32 1
  %1 = load %"struct.std::__detail::_List_node_base"** %_M_prev, align 4
  %_M_node2 = getelementptr inbounds %"struct.std::_List_iterator"* %this1, i32 0, i32 0
  store %"struct.std::__detail::_List_node_base"* %1, %"struct.std::__detail::_List_node_base"** %_M_node2, align 4
  ret %"struct.std::_List_iterator"* %this1
}

define linkonce_odr void @_ZNSt4pairISt14_List_iteratorIN5boost9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEEbEC1ERKS8_RKb(%"struct.std::pair.37"* %this, %"struct.std::_List_iterator"* %__a, i8* %__b) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::pair.37"*, align 4
  %__a.addr = alloca %"struct.std::_List_iterator"*, align 4
  %__b.addr = alloca i8*, align 4
  store %"struct.std::pair.37"* %this, %"struct.std::pair.37"** %this.addr, align 4
  store %"struct.std::_List_iterator"* %__a, %"struct.std::_List_iterator"** %__a.addr, align 4
  store i8* %__b, i8** %__b.addr, align 4
  %this1 = load %"struct.std::pair.37"** %this.addr
  %0 = load i8** %__b.addr
  %1 = load %"struct.std::_List_iterator"** %__a.addr
  call void @_ZNSt4pairISt14_List_iteratorIN5boost9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEEbEC2ERKS8_RKb(%"struct.std::pair.37"* %this1, %"struct.std::_List_iterator"* %1, i8* %0)
  ret void
}

define linkonce_odr void @_ZNSt4pairISt14_List_iteratorIN5boost9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEEbEC2ERKS8_RKb(%"struct.std::pair.37"* %this, %"struct.std::_List_iterator"* %__a, i8* %__b) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::pair.37"*, align 4
  %__a.addr = alloca %"struct.std::_List_iterator"*, align 4
  %__b.addr = alloca i8*, align 4
  store %"struct.std::pair.37"* %this, %"struct.std::pair.37"** %this.addr, align 4
  store %"struct.std::_List_iterator"* %__a, %"struct.std::_List_iterator"** %__a.addr, align 4
  store i8* %__b, i8** %__b.addr, align 4
  %this1 = load %"struct.std::pair.37"** %this.addr
  %first = getelementptr inbounds %"struct.std::pair.37"* %this1, i32 0, i32 0
  %0 = load %"struct.std::_List_iterator"** %__a.addr, align 4
  %1 = bitcast %"struct.std::_List_iterator"* %first to i8*
  %2 = bitcast %"struct.std::_List_iterator"* %0 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1, i8* %2, i32 4, i32 4, i1 false)
  %second = getelementptr inbounds %"struct.std::pair.37"* %this1, i32 0, i32 1
  %3 = load i8** %__b.addr, align 4
  %4 = load i8* %3, align 1
  %tobool = trunc i8 %4 to i1
  %frombool = zext i1 %tobool to i8
  store i8 %frombool, i8* %second, align 1
  ret void
}

define linkonce_odr void @_ZNSt4listIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EE9_M_insertESt14_List_iteratorIS6_ERKS6_(%"class.std::list"* %this, %"struct.std::_List_iterator"* byval align 4 %__position, %"struct.boost::list_edge"* %__x) align 2 {
entry:
  %this.addr = alloca %"class.std::list"*, align 4
  %__x.addr = alloca %"struct.boost::list_edge"*, align 4
  %__tmp = alloca %"struct.std::_List_node"*, align 4
  store %"class.std::list"* %this, %"class.std::list"** %this.addr, align 4
  store %"struct.boost::list_edge"* %__x, %"struct.boost::list_edge"** %__x.addr, align 4
  %this1 = load %"class.std::list"** %this.addr
  %0 = load %"struct.boost::list_edge"** %__x.addr, align 4
  %call = call %"struct.std::_List_node"* @_ZNSt4listIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EE14_M_create_nodeERKS6_(%"class.std::list"* %this1, %"struct.boost::list_edge"* %0)
  store %"struct.std::_List_node"* %call, %"struct.std::_List_node"** %__tmp, align 4
  %1 = load %"struct.std::_List_node"** %__tmp, align 4
  %2 = bitcast %"struct.std::_List_node"* %1 to %"struct.std::__detail::_List_node_base"*
  %_M_node = getelementptr inbounds %"struct.std::_List_iterator"* %__position, i32 0, i32 0
  %3 = load %"struct.std::__detail::_List_node_base"** %_M_node, align 4
  call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(%"struct.std::__detail::_List_node_base"* %2, %"struct.std::__detail::_List_node_base"* %3) nounwind
  ret void
}

define linkonce_odr %"struct.std::_List_node"* @_ZNSt4listIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EE14_M_create_nodeERKS6_(%"class.std::list"* %this, %"struct.boost::list_edge"* %__x) align 2 {
entry:
  %this.addr = alloca %"class.std::list"*, align 4
  %__x.addr = alloca %"struct.boost::list_edge"*, align 4
  %__p = alloca %"struct.std::_List_node"*, align 4
  %temp.lvalue = alloca %"class.std::allocator.33", align 1
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.std::list"* %this, %"class.std::list"** %this.addr, align 4
  store %"struct.boost::list_edge"* %__x, %"struct.boost::list_edge"** %__x.addr, align 4
  %this1 = load %"class.std::list"** %this.addr
  %0 = bitcast %"class.std::list"* %this1 to %"class.std::_List_base"*
  %call = call %"struct.std::_List_node"* @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EE11_M_get_nodeEv(%"class.std::_List_base"* %0)
  store %"struct.std::_List_node"* %call, %"struct.std::_List_node"** %__p, align 4
  %1 = bitcast %"class.std::list"* %this1 to %"class.std::_List_base"*
  invoke void @_ZNKSt10_List_baseIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EE19_M_get_Tp_allocatorEv(%"class.std::allocator.33"* sret %temp.lvalue, %"class.std::_List_base"* %1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %2 = bitcast %"class.std::allocator.33"* %temp.lvalue to %"class.__gnu_cxx::new_allocator.34"*
  %3 = load %"struct.std::_List_node"** %__p, align 4
  %_M_data = getelementptr inbounds %"struct.std::_List_node"* %3, i32 0, i32 1
  %call4 = invoke %"struct.boost::list_edge"* @_ZSt11__addressofIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEEPT_RS7_(%"struct.boost::list_edge"* %_M_data)
          to label %invoke.cont3 unwind label %lpad2

invoke.cont3:                                     ; preds = %invoke.cont
  %4 = load %"struct.boost::list_edge"** %__x.addr, align 4
  invoke void @_ZN9__gnu_cxx13new_allocatorIN5boost9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEE9constructEPS7_RKS7_(%"class.__gnu_cxx::new_allocator.34"* %2, %"struct.boost::list_edge"* %call4, %"struct.boost::list_edge"* %4)
          to label %invoke.cont5 unwind label %lpad2

invoke.cont5:                                     ; preds = %invoke.cont3
  call void @_ZNSaIN5boost9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEED1Ev(%"class.std::allocator.33"* %temp.lvalue) nounwind
  br label %try.cont

lpad:                                             ; preds = %entry
  %5 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  %6 = extractvalue { i8*, i32 } %5, 0
  store i8* %6, i8** %exn.slot
  %7 = extractvalue { i8*, i32 } %5, 1
  store i32 %7, i32* %ehselector.slot
  br label %catch

lpad2:                                            ; preds = %invoke.cont3, %invoke.cont
  %8 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  %9 = extractvalue { i8*, i32 } %8, 0
  store i8* %9, i8** %exn.slot
  %10 = extractvalue { i8*, i32 } %8, 1
  store i32 %10, i32* %ehselector.slot
  call void @_ZNSaIN5boost9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEED1Ev(%"class.std::allocator.33"* %temp.lvalue) nounwind
  br label %catch

catch:                                            ; preds = %lpad2, %lpad
  %exn = load i8** %exn.slot
  %11 = call i8* @__cxa_begin_catch(i8* %exn) nounwind
  %12 = bitcast %"class.std::list"* %this1 to %"class.std::_List_base"*
  %13 = load %"struct.std::_List_node"** %__p, align 4
  invoke void @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EE11_M_put_nodeEPSt10_List_nodeIS6_E(%"class.std::_List_base"* %12, %"struct.std::_List_node"* %13)
          to label %invoke.cont7 unwind label %lpad6

invoke.cont7:                                     ; preds = %catch
  invoke void @__cxa_rethrow() noreturn
          to label %unreachable unwind label %lpad6

lpad6:                                            ; preds = %invoke.cont7, %catch
  %14 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %15 = extractvalue { i8*, i32 } %14, 0
  store i8* %15, i8** %exn.slot
  %16 = extractvalue { i8*, i32 } %14, 1
  store i32 %16, i32* %ehselector.slot
  invoke void @__cxa_end_catch()
          to label %invoke.cont8 unwind label %terminate.lpad

invoke.cont8:                                     ; preds = %lpad6
  br label %eh.resume

try.cont:                                         ; preds = %invoke.cont5
  %17 = load %"struct.std::_List_node"** %__p, align 4
  ret %"struct.std::_List_node"* %17

eh.resume:                                        ; preds = %invoke.cont8
  %exn9 = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn9, 0
  %lpad.val10 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val10

terminate.lpad:                                   ; preds = %lpad6
  %18 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable

unreachable:                                      ; preds = %invoke.cont7
  unreachable
}

declare void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(%"struct.std::__detail::_List_node_base"*, %"struct.std::__detail::_List_node_base"*) nounwind

define linkonce_odr %"struct.std::_List_node"* @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EE11_M_get_nodeEv(%"class.std::_List_base"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::_List_base"*, align 4
  store %"class.std::_List_base"* %this, %"class.std::_List_base"** %this.addr, align 4
  %this1 = load %"class.std::_List_base"** %this.addr
  %_M_impl = getelementptr inbounds %"class.std::_List_base"* %this1, i32 0, i32 0
  %0 = bitcast %"struct.std::_List_base<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_List_impl"* %_M_impl to %"class.std::allocator"*
  %1 = bitcast %"class.std::allocator"* %0 to %"class.__gnu_cxx::new_allocator"*
  %call = call %"struct.std::_List_node"* @_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5boost9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEEE8allocateEjPKv(%"class.__gnu_cxx::new_allocator"* %1, i32 1, i8* null)
  ret %"struct.std::_List_node"* %call
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIN5boost9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEE9constructEPS7_RKS7_(%"class.__gnu_cxx::new_allocator.34"* %this, %"struct.boost::list_edge"* %__p, %"struct.boost::list_edge"* %__val) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.34"*, align 4
  %__p.addr = alloca %"struct.boost::list_edge"*, align 4
  %__val.addr = alloca %"struct.boost::list_edge"*, align 4
  store %"class.__gnu_cxx::new_allocator.34"* %this, %"class.__gnu_cxx::new_allocator.34"** %this.addr, align 4
  store %"struct.boost::list_edge"* %__p, %"struct.boost::list_edge"** %__p.addr, align 4
  store %"struct.boost::list_edge"* %__val, %"struct.boost::list_edge"** %__val.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.34"** %this.addr
  %0 = load %"struct.boost::list_edge"** %__p.addr, align 4
  %1 = bitcast %"struct.boost::list_edge"* %0 to i8*
  %new.isnull = icmp eq i8* %1, null
  br i1 %new.isnull, label %new.cont, label %new.notnull

new.notnull:                                      ; preds = %entry
  %2 = bitcast i8* %1 to %"struct.boost::list_edge"*
  %3 = load %"struct.boost::list_edge"** %__val.addr, align 4
  %4 = bitcast %"struct.boost::list_edge"* %2 to i8*
  %5 = bitcast %"struct.boost::list_edge"* %3 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %5, i32 16, i32 4, i1 false)
  br label %new.cont

new.cont:                                         ; preds = %new.notnull, %entry
  %6 = phi %"struct.boost::list_edge"* [ %2, %new.notnull ], [ null, %entry ]
  ret void
}

define linkonce_odr %"struct.std::_List_node"* @_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5boost9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEEE8allocateEjPKv(%"class.__gnu_cxx::new_allocator"* %this, i32 %__n, i8*) align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator"*, align 4
  %__n.addr = alloca i32, align 4
  %.addr = alloca i8*, align 4
  store %"class.__gnu_cxx::new_allocator"* %this, %"class.__gnu_cxx::new_allocator"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store i8* %0, i8** %.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator"** %this.addr
  %1 = load i32* %__n.addr, align 4
  %call = call i32 @_ZNK9__gnu_cxx13new_allocatorISt10_List_nodeIN5boost9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEEE8max_sizeEv(%"class.__gnu_cxx::new_allocator"* %this1) nounwind
  %cmp = icmp ugt i32 %1, %call
  br i1 %cmp, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  call void @_ZSt17__throw_bad_allocv() noreturn
  unreachable

if.end:                                           ; preds = %entry
  %2 = load i32* %__n.addr, align 4
  %mul = mul i32 %2, 24
  %call2 = call noalias i8* @_Znwj(i32 %mul)
  %3 = bitcast i8* %call2 to %"struct.std::_List_node"*
  ret %"struct.std::_List_node"* %3
}

define linkonce_odr i32 @_ZNK9__gnu_cxx13new_allocatorISt10_List_nodeIN5boost9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEEE8max_sizeEv(%"class.__gnu_cxx::new_allocator"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator"*, align 4
  store %"class.__gnu_cxx::new_allocator"* %this, %"class.__gnu_cxx::new_allocator"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator"** %this.addr
  ret i32 178956970
}

define linkonce_odr void @_ZN5boost9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEC2EjjRKS4_(%"struct.boost::list_edge"* %this, i32 %u, i32 %v, %"struct.boost::property"* %p) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::list_edge"*, align 4
  %u.addr = alloca i32, align 4
  %v.addr = alloca i32, align 4
  %p.addr = alloca %"struct.boost::property"*, align 4
  store %"struct.boost::list_edge"* %this, %"struct.boost::list_edge"** %this.addr, align 4
  store i32 %u, i32* %u.addr, align 4
  store i32 %v, i32* %v.addr, align 4
  store %"struct.boost::property"* %p, %"struct.boost::property"** %p.addr, align 4
  %this1 = load %"struct.boost::list_edge"** %this.addr
  %0 = bitcast %"struct.boost::list_edge"* %this1 to %"struct.boost::detail::edge_base"*
  %1 = load i32* %u.addr, align 4
  %2 = load i32* %v.addr, align 4
  call void @_ZN5boost6detail9edge_baseINS_14undirected_tagEjEC2Ejj(%"struct.boost::detail::edge_base"* %0, i32 %1, i32 %2)
  %m_property = getelementptr inbounds %"struct.boost::list_edge"* %this1, i32 0, i32 1
  %3 = load %"struct.boost::property"** %p.addr, align 4
  %4 = bitcast %"struct.boost::property"* %m_property to i8*
  %5 = bitcast %"struct.boost::property"* %3 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %5, i32 8, i32 4, i1 false)
  ret void
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE6insertEN9__gnu_cxx17__normal_iteratorIPSE_SG_EEjRKSE_(%"class.std::vector"* %this, %"class.__gnu_cxx::__normal_iterator.43"* byval align 4 %__position, i32 %__n, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__x) align 2 {
entry:
  %this.addr = alloca %"class.std::vector"*, align 4
  %__n.addr = alloca i32, align 4
  %__x.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator.43", align 4
  store %"class.std::vector"* %this, %"class.std::vector"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__x, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__x.addr, align 4
  %this1 = load %"class.std::vector"** %this.addr
  %0 = bitcast %"class.__gnu_cxx::__normal_iterator.43"* %agg.tmp to i8*
  %1 = bitcast %"class.__gnu_cxx::__normal_iterator.43"* %__position to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 4, i32 4, i1 false)
  %2 = load i32* %__n.addr, align 4
  %3 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__x.addr, align 4
  call void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPSE_SG_EEjRKSE_(%"class.std::vector"* %this1, %"class.__gnu_cxx::__normal_iterator.43"* byval align 4 %agg.tmp, i32 %2, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %3)
  ret void
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE3endEv(%"class.__gnu_cxx::__normal_iterator.43"* noalias sret %agg.result, %"class.std::vector"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::vector"*, align 4
  store %"class.std::vector"* %this, %"class.std::vector"** %this.addr, align 4
  %this1 = load %"class.std::vector"** %this.addr
  %0 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base"* %0, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl, i32 0, i32 1
  call void @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_11undirectedSENS1_11no_propertyENS1_8propertyINS1_13edge_weight_tEiS7_EES7_NS1_5listSEEES5_S5_S6_S7_SA_S7_SB_E6config13stored_vertexESt6vectorISF_SaISF_EEEC1ERKSG_(%"class.__gnu_cxx::__normal_iterator.43"* %agg.result, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish)
  ret void
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE15_M_erase_at_endEPSE_(%"class.std::vector"* %this, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__pos) align 2 {
entry:
  %this.addr = alloca %"class.std::vector"*, align 4
  %__pos.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"class.std::vector"* %this, %"class.std::vector"** %this.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__pos, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__pos.addr, align 4
  %this1 = load %"class.std::vector"** %this.addr
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__pos.addr, align 4
  %1 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base"* %1, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl, i32 0, i32 1
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish, align 4
  %3 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %call = call %"class.std::allocator.0"* @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base"* %3)
  call void @_ZSt8_DestroyIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESE_EvT_SG_RSaIT0_E(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %0, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %2, %"class.std::allocator.0"* %call)
  %4 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__pos.addr, align 4
  %5 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base"* %5, i32 0, i32 0
  %_M_finish3 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl2, i32 0, i32 1
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %4, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish3, align 4
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_11undirectedSENS1_11no_propertyENS1_8propertyINS1_13edge_weight_tEiS7_EES7_NS1_5listSEEES5_S5_S6_S7_SA_S7_SB_E6config13stored_vertexESt6vectorISF_SaISF_EEEC1ERKSG_(%"class.__gnu_cxx::__normal_iterator.43"* %this, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__i) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.43"*, align 4
  %__i.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"**, align 4
  store %"class.__gnu_cxx::__normal_iterator.43"* %this, %"class.__gnu_cxx::__normal_iterator.43"** %this.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__i, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*** %__i.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.43"** %this.addr
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*** %__i.addr
  call void @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_11undirectedSENS1_11no_propertyENS1_8propertyINS1_13edge_weight_tEiS7_EES7_NS1_5listSEEES5_S5_S6_S7_SA_S7_SB_E6config13stored_vertexESt6vectorISF_SaISF_EEEC2ERKSG_(%"class.__gnu_cxx::__normal_iterator.43"* %this1, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %0)
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_11undirectedSENS1_11no_propertyENS1_8propertyINS1_13edge_weight_tEiS7_EES7_NS1_5listSEEES5_S5_S6_S7_SA_S7_SB_E6config13stored_vertexESt6vectorISF_SaISF_EEEC2ERKSG_(%"class.__gnu_cxx::__normal_iterator.43"* %this, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__i) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.43"*, align 4
  %__i.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"**, align 4
  store %"class.__gnu_cxx::__normal_iterator.43"* %this, %"class.__gnu_cxx::__normal_iterator.43"** %this.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__i, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*** %__i.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.43"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.43"* %this1, i32 0, i32 0
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*** %__i.addr, align 4
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %0, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %1, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_current, align 4
  ret void
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPSE_SG_EEjRKSE_(%"class.std::vector"* %this, %"class.__gnu_cxx::__normal_iterator.43"* byval align 4 %__position, i32 %__n, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__x) align 2 {
entry:
  %this.addr = alloca %"class.std::vector"*, align 4
  %__n.addr = alloca i32, align 4
  %__x.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__x_copy = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex", align 4
  %__elems_after = alloca i32, align 4
  %ref.tmp = alloca %"class.__gnu_cxx::__normal_iterator.43", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %__old_finish = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__len = alloca i32, align 4
  %__elems_before = alloca i32, align 4
  %ref.tmp61 = alloca %"class.__gnu_cxx::__normal_iterator.43", align 4
  %__new_start = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__new_finish = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"class.std::vector"* %this, %"class.std::vector"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__x, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__x.addr, align 4
  %this1 = load %"class.std::vector"** %this.addr
  %0 = load i32* %__n.addr, align 4
  %cmp = icmp ne i32 %0, 0
  br i1 %cmp, label %if.then, label %if.end123

if.then:                                          ; preds = %entry
  %1 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base"* %1, i32 0, i32 0
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl, i32 0, i32 2
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_end_of_storage, align 4
  %3 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base"* %3, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl2, i32 0, i32 1
  %4 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish, align 4
  %sub.ptr.lhs.cast = ptrtoint %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %2 to i32
  %sub.ptr.rhs.cast = ptrtoint %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %4 to i32
  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  %sub.ptr.div = sdiv exact i32 %sub.ptr.sub, 16
  %5 = load i32* %__n.addr, align 4
  %cmp3 = icmp uge i32 %sub.ptr.div, %5
  br i1 %cmp3, label %if.then4, label %if.else59

if.then4:                                         ; preds = %if.then
  %6 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__x.addr, align 4
  call void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config13stored_vertexC1ERKSD_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__x_copy, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %6)
  invoke void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE3endEv(%"class.__gnu_cxx::__normal_iterator.43"* sret %ref.tmp, %"class.std::vector"* %this1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %if.then4
  %call = invoke i32 @_ZN9__gnu_cxxmiIPN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_11undirectedSENS1_11no_propertyENS1_8propertyINS1_13edge_weight_tEiS7_EES7_NS1_5listSEEES5_S5_S6_S7_SA_S7_SB_E6config13stored_vertexESt6vectorISF_SaISF_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSN_SQ_(%"class.__gnu_cxx::__normal_iterator.43"* %ref.tmp, %"class.__gnu_cxx::__normal_iterator.43"* %__position)
          to label %invoke.cont5 unwind label %lpad

invoke.cont5:                                     ; preds = %invoke.cont
  store i32 %call, i32* %__elems_after, align 4
  %7 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl6 = getelementptr inbounds %"struct.std::_Vector_base"* %7, i32 0, i32 0
  %_M_finish7 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl6, i32 0, i32 1
  %8 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish7, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %8, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__old_finish, align 4
  %9 = load i32* %__elems_after, align 4
  %10 = load i32* %__n.addr, align 4
  %cmp8 = icmp ugt i32 %9, %10
  br i1 %cmp8, label %if.then9, label %if.else

if.then9:                                         ; preds = %invoke.cont5
  %11 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl10 = getelementptr inbounds %"struct.std::_Vector_base"* %11, i32 0, i32 0
  %_M_finish11 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl10, i32 0, i32 1
  %12 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish11, align 4
  %13 = load i32* %__n.addr, align 4
  %idx.neg = sub i32 0, %13
  %add.ptr = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %12, i32 %idx.neg
  %14 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl12 = getelementptr inbounds %"struct.std::_Vector_base"* %14, i32 0, i32 0
  %_M_finish13 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl12, i32 0, i32 1
  %15 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish13, align 4
  %16 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl14 = getelementptr inbounds %"struct.std::_Vector_base"* %16, i32 0, i32 0
  %_M_finish15 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl14, i32 0, i32 1
  %17 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish15, align 4
  %18 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %call17 = invoke %"class.std::allocator.0"* @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base"* %18)
          to label %invoke.cont16 unwind label %lpad

invoke.cont16:                                    ; preds = %if.then9
  %call19 = invoke %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt22__uninitialized_move_aIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESF_SaISE_EET0_T_SI_SH_RT1_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %add.ptr, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %15, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %17, %"class.std::allocator.0"* %call17)
          to label %invoke.cont18 unwind label %lpad

invoke.cont18:                                    ; preds = %invoke.cont16
  %19 = load i32* %__n.addr, align 4
  %20 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl20 = getelementptr inbounds %"struct.std::_Vector_base"* %20, i32 0, i32 0
  %_M_finish21 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl20, i32 0, i32 1
  %21 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish21, align 4
  %add.ptr22 = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %21, i32 %19
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %add.ptr22, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish21, align 4
  %call24 = invoke %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_11undirectedSENS1_11no_propertyENS1_8propertyINS1_13edge_weight_tEiS7_EES7_NS1_5listSEEES5_S5_S6_S7_SA_S7_SB_E6config13stored_vertexESt6vectorISF_SaISF_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.43"* %__position)
          to label %invoke.cont23 unwind label %lpad

invoke.cont23:                                    ; preds = %invoke.cont18
  %22 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %call24
  %23 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__old_finish, align 4
  %24 = load i32* %__n.addr, align 4
  %idx.neg25 = sub i32 0, %24
  %add.ptr26 = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %23, i32 %idx.neg25
  %25 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__old_finish, align 4
  %call28 = invoke %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt13copy_backwardIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESF_ET0_T_SH_SG_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %22, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %add.ptr26, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %25)
          to label %invoke.cont27 unwind label %lpad

invoke.cont27:                                    ; preds = %invoke.cont23
  %call30 = invoke %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_11undirectedSENS1_11no_propertyENS1_8propertyINS1_13edge_weight_tEiS7_EES7_NS1_5listSEEES5_S5_S6_S7_SA_S7_SB_E6config13stored_vertexESt6vectorISF_SaISF_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.43"* %__position)
          to label %invoke.cont29 unwind label %lpad

invoke.cont29:                                    ; preds = %invoke.cont27
  %26 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %call30
  %call32 = invoke %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_11undirectedSENS1_11no_propertyENS1_8propertyINS1_13edge_weight_tEiS7_EES7_NS1_5listSEEES5_S5_S6_S7_SA_S7_SB_E6config13stored_vertexESt6vectorISF_SaISF_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.43"* %__position)
          to label %invoke.cont31 unwind label %lpad

invoke.cont31:                                    ; preds = %invoke.cont29
  %27 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %call32
  %28 = load i32* %__n.addr, align 4
  %add.ptr33 = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %27, i32 %28
  invoke void @_ZSt4fillIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESE_EvT_SG_RKT0_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %26, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %add.ptr33, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__x_copy)
          to label %invoke.cont34 unwind label %lpad

invoke.cont34:                                    ; preds = %invoke.cont31
  br label %if.end

lpad:                                             ; preds = %invoke.cont55, %invoke.cont50, %invoke.cont48, %invoke.cont44, %invoke.cont39, %invoke.cont37, %if.else, %invoke.cont31, %invoke.cont29, %invoke.cont27, %invoke.cont23, %invoke.cont18, %invoke.cont16, %if.then9, %invoke.cont, %if.then4
  %29 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %30 = extractvalue { i8*, i32 } %29, 0
  store i8* %30, i8** %exn.slot
  %31 = extractvalue { i8*, i32 } %29, 1
  store i32 %31, i32* %ehselector.slot
  invoke void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config13stored_vertexD1Ev(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__x_copy)
          to label %invoke.cont58 unwind label %terminate.lpad

if.else:                                          ; preds = %invoke.cont5
  %32 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl35 = getelementptr inbounds %"struct.std::_Vector_base"* %32, i32 0, i32 0
  %_M_finish36 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl35, i32 0, i32 1
  %33 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish36, align 4
  %34 = load i32* %__n.addr, align 4
  %35 = load i32* %__elems_after, align 4
  %sub = sub i32 %34, %35
  %36 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %call38 = invoke %"class.std::allocator.0"* @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base"* %36)
          to label %invoke.cont37 unwind label %lpad

invoke.cont37:                                    ; preds = %if.else
  invoke void @_ZSt24__uninitialized_fill_n_aIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexEjSE_SE_EvT_T0_RKT1_RSaIT2_E(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %33, i32 %sub, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__x_copy, %"class.std::allocator.0"* %call38)
          to label %invoke.cont39 unwind label %lpad

invoke.cont39:                                    ; preds = %invoke.cont37
  %37 = load i32* %__n.addr, align 4
  %38 = load i32* %__elems_after, align 4
  %sub40 = sub i32 %37, %38
  %39 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl41 = getelementptr inbounds %"struct.std::_Vector_base"* %39, i32 0, i32 0
  %_M_finish42 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl41, i32 0, i32 1
  %40 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish42, align 4
  %add.ptr43 = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %40, i32 %sub40
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %add.ptr43, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish42, align 4
  %call45 = invoke %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_11undirectedSENS1_11no_propertyENS1_8propertyINS1_13edge_weight_tEiS7_EES7_NS1_5listSEEES5_S5_S6_S7_SA_S7_SB_E6config13stored_vertexESt6vectorISF_SaISF_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.43"* %__position)
          to label %invoke.cont44 unwind label %lpad

invoke.cont44:                                    ; preds = %invoke.cont39
  %41 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %call45
  %42 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__old_finish, align 4
  %43 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl46 = getelementptr inbounds %"struct.std::_Vector_base"* %43, i32 0, i32 0
  %_M_finish47 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl46, i32 0, i32 1
  %44 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish47, align 4
  %45 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %call49 = invoke %"class.std::allocator.0"* @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base"* %45)
          to label %invoke.cont48 unwind label %lpad

invoke.cont48:                                    ; preds = %invoke.cont44
  %call51 = invoke %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt22__uninitialized_move_aIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESF_SaISE_EET0_T_SI_SH_RT1_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %41, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %42, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %44, %"class.std::allocator.0"* %call49)
          to label %invoke.cont50 unwind label %lpad

invoke.cont50:                                    ; preds = %invoke.cont48
  %46 = load i32* %__elems_after, align 4
  %47 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl52 = getelementptr inbounds %"struct.std::_Vector_base"* %47, i32 0, i32 0
  %_M_finish53 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl52, i32 0, i32 1
  %48 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish53, align 4
  %add.ptr54 = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %48, i32 %46
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %add.ptr54, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish53, align 4
  %call56 = invoke %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_11undirectedSENS1_11no_propertyENS1_8propertyINS1_13edge_weight_tEiS7_EES7_NS1_5listSEEES5_S5_S6_S7_SA_S7_SB_E6config13stored_vertexESt6vectorISF_SaISF_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.43"* %__position)
          to label %invoke.cont55 unwind label %lpad

invoke.cont55:                                    ; preds = %invoke.cont50
  %49 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %call56
  %50 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__old_finish, align 4
  invoke void @_ZSt4fillIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESE_EvT_SG_RKT0_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %49, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %50, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__x_copy)
          to label %invoke.cont57 unwind label %lpad

invoke.cont57:                                    ; preds = %invoke.cont55
  br label %if.end

if.end:                                           ; preds = %invoke.cont57, %invoke.cont34
  call void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config13stored_vertexD1Ev(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__x_copy)
  br label %if.end122

invoke.cont58:                                    ; preds = %lpad
  br label %eh.resume

if.else59:                                        ; preds = %if.then
  %51 = load i32* %__n.addr, align 4
  %call60 = call i32 @_ZNKSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE12_M_check_lenEjPKc(%"class.std::vector"* %this1, i32 %51, i8* getelementptr inbounds ([23 x i8]* @.str17, i32 0, i32 0))
  store i32 %call60, i32* %__len, align 4
  call void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE5beginEv(%"class.__gnu_cxx::__normal_iterator.43"* sret %ref.tmp61, %"class.std::vector"* %this1)
  %call62 = call i32 @_ZN9__gnu_cxxmiIPN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_11undirectedSENS1_11no_propertyENS1_8propertyINS1_13edge_weight_tEiS7_EES7_NS1_5listSEEES5_S5_S6_S7_SA_S7_SB_E6config13stored_vertexESt6vectorISF_SaISF_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSN_SQ_(%"class.__gnu_cxx::__normal_iterator.43"* %__position, %"class.__gnu_cxx::__normal_iterator.43"* %ref.tmp61)
  store i32 %call62, i32* %__elems_before, align 4
  %52 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %53 = load i32* %__len, align 4
  %call63 = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE11_M_allocateEj(%"struct.std::_Vector_base"* %52, i32 %53)
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %call63, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__new_start, align 4
  %54 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__new_start, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %54, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__new_finish, align 4
  %55 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__new_start, align 4
  %56 = load i32* %__elems_before, align 4
  %add.ptr64 = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %55, i32 %56
  %57 = load i32* %__n.addr, align 4
  %58 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__x.addr, align 4
  %59 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %call67 = invoke %"class.std::allocator.0"* @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base"* %59)
          to label %invoke.cont66 unwind label %lpad65

invoke.cont66:                                    ; preds = %if.else59
  invoke void @_ZSt24__uninitialized_fill_n_aIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexEjSE_SE_EvT_T0_RKT1_RSaIT2_E(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %add.ptr64, i32 %57, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %58, %"class.std::allocator.0"* %call67)
          to label %invoke.cont68 unwind label %lpad65

invoke.cont68:                                    ; preds = %invoke.cont66
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* null, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__new_finish, align 4
  %60 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl69 = getelementptr inbounds %"struct.std::_Vector_base"* %60, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl69, i32 0, i32 0
  %61 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_start, align 4
  %call71 = invoke %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_11undirectedSENS1_11no_propertyENS1_8propertyINS1_13edge_weight_tEiS7_EES7_NS1_5listSEEES5_S5_S6_S7_SA_S7_SB_E6config13stored_vertexESt6vectorISF_SaISF_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.43"* %__position)
          to label %invoke.cont70 unwind label %lpad65

invoke.cont70:                                    ; preds = %invoke.cont68
  %62 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %call71
  %63 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__new_start, align 4
  %64 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %call73 = invoke %"class.std::allocator.0"* @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base"* %64)
          to label %invoke.cont72 unwind label %lpad65

invoke.cont72:                                    ; preds = %invoke.cont70
  %call75 = invoke %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt22__uninitialized_move_aIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESF_SaISE_EET0_T_SI_SH_RT1_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %61, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %62, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %63, %"class.std::allocator.0"* %call73)
          to label %invoke.cont74 unwind label %lpad65

invoke.cont74:                                    ; preds = %invoke.cont72
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %call75, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__new_finish, align 4
  %65 = load i32* %__n.addr, align 4
  %66 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__new_finish, align 4
  %add.ptr76 = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %66, i32 %65
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %add.ptr76, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__new_finish, align 4
  %call78 = invoke %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_11undirectedSENS1_11no_propertyENS1_8propertyINS1_13edge_weight_tEiS7_EES7_NS1_5listSEEES5_S5_S6_S7_SA_S7_SB_E6config13stored_vertexESt6vectorISF_SaISF_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.43"* %__position)
          to label %invoke.cont77 unwind label %lpad65

invoke.cont77:                                    ; preds = %invoke.cont74
  %67 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %call78
  %68 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl79 = getelementptr inbounds %"struct.std::_Vector_base"* %68, i32 0, i32 0
  %_M_finish80 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl79, i32 0, i32 1
  %69 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish80, align 4
  %70 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__new_finish, align 4
  %71 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %call82 = invoke %"class.std::allocator.0"* @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base"* %71)
          to label %invoke.cont81 unwind label %lpad65

invoke.cont81:                                    ; preds = %invoke.cont77
  %call84 = invoke %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt22__uninitialized_move_aIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESF_SaISE_EET0_T_SI_SH_RT1_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %67, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %69, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %70, %"class.std::allocator.0"* %call82)
          to label %invoke.cont83 unwind label %lpad65

invoke.cont83:                                    ; preds = %invoke.cont81
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %call84, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__new_finish, align 4
  br label %try.cont

lpad65:                                           ; preds = %invoke.cont81, %invoke.cont77, %invoke.cont74, %invoke.cont72, %invoke.cont70, %invoke.cont68, %invoke.cont66, %if.else59
  %72 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  %73 = extractvalue { i8*, i32 } %72, 0
  store i8* %73, i8** %exn.slot
  %74 = extractvalue { i8*, i32 } %72, 1
  store i32 %74, i32* %ehselector.slot
  br label %catch

catch:                                            ; preds = %lpad65
  %exn = load i8** %exn.slot
  %75 = call i8* @__cxa_begin_catch(i8* %exn) nounwind
  %76 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__new_finish, align 4
  %tobool = icmp ne %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %76, null
  br i1 %tobool, label %if.else93, label %if.then85

if.then85:                                        ; preds = %catch
  %77 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__new_start, align 4
  %78 = load i32* %__elems_before, align 4
  %add.ptr86 = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %77, i32 %78
  %79 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__new_start, align 4
  %80 = load i32* %__elems_before, align 4
  %add.ptr87 = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %79, i32 %80
  %81 = load i32* %__n.addr, align 4
  %add.ptr88 = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %add.ptr87, i32 %81
  %82 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %call91 = invoke %"class.std::allocator.0"* @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base"* %82)
          to label %invoke.cont90 unwind label %lpad89

invoke.cont90:                                    ; preds = %if.then85
  invoke void @_ZSt8_DestroyIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESE_EvT_SG_RSaIT0_E(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %add.ptr86, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %add.ptr88, %"class.std::allocator.0"* %call91)
          to label %invoke.cont92 unwind label %lpad89

invoke.cont92:                                    ; preds = %invoke.cont90
  br label %if.end97

lpad89:                                           ; preds = %invoke.cont98, %if.end97, %invoke.cont94, %if.else93, %invoke.cont90, %if.then85
  %83 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %84 = extractvalue { i8*, i32 } %83, 0
  store i8* %84, i8** %exn.slot
  %85 = extractvalue { i8*, i32 } %83, 1
  store i32 %85, i32* %ehselector.slot
  invoke void @__cxa_end_catch()
          to label %invoke.cont99 unwind label %terminate.lpad

if.else93:                                        ; preds = %catch
  %86 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__new_start, align 4
  %87 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__new_finish, align 4
  %88 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %call95 = invoke %"class.std::allocator.0"* @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base"* %88)
          to label %invoke.cont94 unwind label %lpad89

invoke.cont94:                                    ; preds = %if.else93
  invoke void @_ZSt8_DestroyIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESE_EvT_SG_RSaIT0_E(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %86, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %87, %"class.std::allocator.0"* %call95)
          to label %invoke.cont96 unwind label %lpad89

invoke.cont96:                                    ; preds = %invoke.cont94
  br label %if.end97

if.end97:                                         ; preds = %invoke.cont96, %invoke.cont92
  %89 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %90 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__new_start, align 4
  %91 = load i32* %__len, align 4
  invoke void @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE13_M_deallocateEPSE_j(%"struct.std::_Vector_base"* %89, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %90, i32 %91)
          to label %invoke.cont98 unwind label %lpad89

invoke.cont98:                                    ; preds = %if.end97
  invoke void @__cxa_rethrow() noreturn
          to label %unreachable unwind label %lpad89

invoke.cont99:                                    ; preds = %lpad89
  br label %eh.resume

try.cont:                                         ; preds = %invoke.cont83
  %92 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl100 = getelementptr inbounds %"struct.std::_Vector_base"* %92, i32 0, i32 0
  %_M_start101 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl100, i32 0, i32 0
  %93 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_start101, align 4
  %94 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl102 = getelementptr inbounds %"struct.std::_Vector_base"* %94, i32 0, i32 0
  %_M_finish103 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl102, i32 0, i32 1
  %95 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish103, align 4
  %96 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %call104 = call %"class.std::allocator.0"* @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base"* %96)
  call void @_ZSt8_DestroyIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESE_EvT_SG_RSaIT0_E(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %93, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %95, %"class.std::allocator.0"* %call104)
  %97 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %98 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl105 = getelementptr inbounds %"struct.std::_Vector_base"* %98, i32 0, i32 0
  %_M_start106 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl105, i32 0, i32 0
  %99 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_start106, align 4
  %100 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl107 = getelementptr inbounds %"struct.std::_Vector_base"* %100, i32 0, i32 0
  %_M_end_of_storage108 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl107, i32 0, i32 2
  %101 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_end_of_storage108, align 4
  %102 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl109 = getelementptr inbounds %"struct.std::_Vector_base"* %102, i32 0, i32 0
  %_M_start110 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl109, i32 0, i32 0
  %103 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_start110, align 4
  %sub.ptr.lhs.cast111 = ptrtoint %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %101 to i32
  %sub.ptr.rhs.cast112 = ptrtoint %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %103 to i32
  %sub.ptr.sub113 = sub i32 %sub.ptr.lhs.cast111, %sub.ptr.rhs.cast112
  %sub.ptr.div114 = sdiv exact i32 %sub.ptr.sub113, 16
  call void @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE13_M_deallocateEPSE_j(%"struct.std::_Vector_base"* %97, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %99, i32 %sub.ptr.div114)
  %104 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__new_start, align 4
  %105 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl115 = getelementptr inbounds %"struct.std::_Vector_base"* %105, i32 0, i32 0
  %_M_start116 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl115, i32 0, i32 0
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %104, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_start116, align 4
  %106 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__new_finish, align 4
  %107 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl117 = getelementptr inbounds %"struct.std::_Vector_base"* %107, i32 0, i32 0
  %_M_finish118 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl117, i32 0, i32 1
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %106, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish118, align 4
  %108 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__new_start, align 4
  %109 = load i32* %__len, align 4
  %add.ptr119 = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %108, i32 %109
  %110 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl120 = getelementptr inbounds %"struct.std::_Vector_base"* %110, i32 0, i32 0
  %_M_end_of_storage121 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl120, i32 0, i32 2
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %add.ptr119, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_end_of_storage121, align 4
  br label %if.end122

if.end122:                                        ; preds = %try.cont, %if.end
  br label %if.end123

if.end123:                                        ; preds = %if.end122, %entry
  ret void

eh.resume:                                        ; preds = %invoke.cont99, %invoke.cont58
  %exn124 = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn124, 0
  %lpad.val125 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val125

terminate.lpad:                                   ; preds = %lpad89, %lpad
  %111 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable

unreachable:                                      ; preds = %invoke.cont98
  unreachable
}

define linkonce_odr void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config13stored_vertexC1ERKSD_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %this, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %this, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %this.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %0, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %.addr, align 4
  %this1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %this.addr
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %.addr
  call void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config13stored_vertexC2ERKSD_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %this1, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %1)
  ret void
}

define linkonce_odr i32 @_ZN9__gnu_cxxmiIPN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_11undirectedSENS1_11no_propertyENS1_8propertyINS1_13edge_weight_tEiS7_EES7_NS1_5listSEEES5_S5_S6_S7_SA_S7_SB_E6config13stored_vertexESt6vectorISF_SaISF_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSN_SQ_(%"class.__gnu_cxx::__normal_iterator.43"* %__lhs, %"class.__gnu_cxx::__normal_iterator.43"* %__rhs) nounwind inlinehint {
entry:
  %__lhs.addr = alloca %"class.__gnu_cxx::__normal_iterator.43"*, align 4
  %__rhs.addr = alloca %"class.__gnu_cxx::__normal_iterator.43"*, align 4
  store %"class.__gnu_cxx::__normal_iterator.43"* %__lhs, %"class.__gnu_cxx::__normal_iterator.43"** %__lhs.addr, align 4
  store %"class.__gnu_cxx::__normal_iterator.43"* %__rhs, %"class.__gnu_cxx::__normal_iterator.43"** %__rhs.addr, align 4
  %0 = load %"class.__gnu_cxx::__normal_iterator.43"** %__lhs.addr, align 4
  %call = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_11undirectedSENS1_11no_propertyENS1_8propertyINS1_13edge_weight_tEiS7_EES7_NS1_5listSEEES5_S5_S6_S7_SA_S7_SB_E6config13stored_vertexESt6vectorISF_SaISF_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.43"* %0)
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %call
  %2 = load %"class.__gnu_cxx::__normal_iterator.43"** %__rhs.addr, align 4
  %call1 = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_11undirectedSENS1_11no_propertyENS1_8propertyINS1_13edge_weight_tEiS7_EES7_NS1_5listSEEES5_S5_S6_S7_SA_S7_SB_E6config13stored_vertexESt6vectorISF_SaISF_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.43"* %2)
  %3 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %call1
  %sub.ptr.lhs.cast = ptrtoint %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %1 to i32
  %sub.ptr.rhs.cast = ptrtoint %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %3 to i32
  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  %sub.ptr.div = sdiv exact i32 %sub.ptr.sub, 16
  ret i32 %sub.ptr.div
}

define linkonce_odr %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt22__uninitialized_move_aIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESF_SaISE_EET0_T_SI_SH_RT1_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__result, %"class.std::allocator.0"* %__alloc) inlinehint {
entry:
  %__first.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__last.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__result.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__alloc.addr = alloca %"class.std::allocator.0"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__result, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__result.addr, align 4
  store %"class.std::allocator.0"* %__alloc, %"class.std::allocator.0"** %__alloc.addr, align 4
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__result.addr, align 4
  %3 = load %"class.std::allocator.0"** %__alloc.addr, align 4
  %call = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt22__uninitialized_copy_aIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESF_SE_ET0_T_SH_SG_RSaIT1_E(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %0, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %1, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %2, %"class.std::allocator.0"* %3)
  ret %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %call
}

define linkonce_odr %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt13copy_backwardIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESF_ET0_T_SH_SG_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__result) inlinehint {
entry:
  %__first.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__last.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__result.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__result, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__result.addr, align 4
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %call = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt12__miter_baseIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexEENSt11_Miter_baseIT_E13iterator_typeESH_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %0)
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  %call1 = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt12__miter_baseIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexEENSt11_Miter_baseIT_E13iterator_typeESH_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %1)
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__result.addr, align 4
  %call2 = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt23__copy_move_backward_a2ILb0EPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESF_ET1_T0_SH_SG_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %call, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %call1, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %2)
  ret %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %call2
}

define linkonce_odr %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_11undirectedSENS1_11no_propertyENS1_8propertyINS1_13edge_weight_tEiS7_EES7_NS1_5listSEEES5_S5_S6_S7_SA_S7_SB_E6config13stored_vertexESt6vectorISF_SaISF_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.43"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.43"*, align 4
  store %"class.__gnu_cxx::__normal_iterator.43"* %this, %"class.__gnu_cxx::__normal_iterator.43"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.43"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.43"* %this1, i32 0, i32 0
  ret %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_current
}

define linkonce_odr void @_ZSt4fillIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESE_EvT_SG_RKT0_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__value) inlinehint {
entry:
  %__first.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__last.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__value.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__value, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__value.addr, align 4
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %call = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt12__niter_baseIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexEENSt11_Niter_baseIT_E13iterator_typeESH_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %0)
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  %call1 = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt12__niter_baseIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexEENSt11_Niter_baseIT_E13iterator_typeESH_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %1)
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__value.addr, align 4
  call void @_ZSt8__fill_aIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESE_EN9__gnu_cxx11__enable_ifIXntsr11__is_scalarIT0_EE7__valueEvE6__typeET_SL_RKSI_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %call, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %call1, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %2)
  ret void
}

define linkonce_odr void @_ZSt24__uninitialized_fill_n_aIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexEjSE_SE_EvT_T0_RKT1_RSaIT2_E(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__first, i32 %__n, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__x, %"class.std::allocator.0"*) inlinehint {
entry:
  %__first.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__n.addr = alloca i32, align 4
  %__x.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %.addr = alloca %"class.std::allocator.0"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__x, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__x.addr, align 4
  store %"class.std::allocator.0"* %0, %"class.std::allocator.0"** %.addr, align 4
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %2 = load i32* %__n.addr, align 4
  %3 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__x.addr, align 4
  call void @_ZSt20uninitialized_fill_nIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexEjSE_EvT_T0_RKT1_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %1, i32 %2, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %3)
  ret void
}

define linkonce_odr i32 @_ZNKSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE12_M_check_lenEjPKc(%"class.std::vector"* %this, i32 %__n, i8* %__s) align 2 {
entry:
  %this.addr = alloca %"class.std::vector"*, align 4
  %__n.addr = alloca i32, align 4
  %__s.addr = alloca i8*, align 4
  %__len = alloca i32, align 4
  %ref.tmp = alloca i32, align 4
  store %"class.std::vector"* %this, %"class.std::vector"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store i8* %__s, i8** %__s.addr, align 4
  %this1 = load %"class.std::vector"** %this.addr
  %call = call i32 @_ZNKSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE8max_sizeEv(%"class.std::vector"* %this1)
  %call2 = call i32 @_ZNKSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE4sizeEv(%"class.std::vector"* %this1)
  %sub = sub i32 %call, %call2
  %0 = load i32* %__n.addr, align 4
  %cmp = icmp ult i32 %sub, %0
  br i1 %cmp, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  %1 = load i8** %__s.addr, align 4
  call void @_ZSt20__throw_length_errorPKc(i8* %1) noreturn
  unreachable

if.end:                                           ; preds = %entry
  %call3 = call i32 @_ZNKSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE4sizeEv(%"class.std::vector"* %this1)
  %call4 = call i32 @_ZNKSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE4sizeEv(%"class.std::vector"* %this1)
  store i32 %call4, i32* %ref.tmp, align 4
  %call5 = call i32* @_ZSt3maxIjERKT_S2_S2_(i32* %ref.tmp, i32* %__n.addr)
  %2 = load i32* %call5
  %add = add i32 %call3, %2
  store i32 %add, i32* %__len, align 4
  %3 = load i32* %__len, align 4
  %call6 = call i32 @_ZNKSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE4sizeEv(%"class.std::vector"* %this1)
  %cmp7 = icmp ult i32 %3, %call6
  br i1 %cmp7, label %cond.true, label %lor.lhs.false

lor.lhs.false:                                    ; preds = %if.end
  %4 = load i32* %__len, align 4
  %call8 = call i32 @_ZNKSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE8max_sizeEv(%"class.std::vector"* %this1)
  %cmp9 = icmp ugt i32 %4, %call8
  br i1 %cmp9, label %cond.true, label %cond.false

cond.true:                                        ; preds = %lor.lhs.false, %if.end
  %call10 = call i32 @_ZNKSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE8max_sizeEv(%"class.std::vector"* %this1)
  br label %cond.end

cond.false:                                       ; preds = %lor.lhs.false
  %5 = load i32* %__len, align 4
  br label %cond.end

cond.end:                                         ; preds = %cond.false, %cond.true
  %cond = phi i32 [ %call10, %cond.true ], [ %5, %cond.false ]
  ret i32 %cond
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE5beginEv(%"class.__gnu_cxx::__normal_iterator.43"* noalias sret %agg.result, %"class.std::vector"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::vector"*, align 4
  store %"class.std::vector"* %this, %"class.std::vector"** %this.addr, align 4
  %this1 = load %"class.std::vector"** %this.addr
  %0 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base"* %0, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl, i32 0, i32 0
  call void @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_11undirectedSENS1_11no_propertyENS1_8propertyINS1_13edge_weight_tEiS7_EES7_NS1_5listSEEES5_S5_S6_S7_SA_S7_SB_E6config13stored_vertexESt6vectorISF_SaISF_EEEC1ERKSG_(%"class.__gnu_cxx::__normal_iterator.43"* %agg.result, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_start)
  ret void
}

define linkonce_odr %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE11_M_allocateEj(%"struct.std::_Vector_base"* %this, i32 %__n) align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base"*, align 4
  %__n.addr = alloca i32, align 4
  store %"struct.std::_Vector_base"* %this, %"struct.std::_Vector_base"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  %this1 = load %"struct.std::_Vector_base"** %this.addr
  %0 = load i32* %__n.addr, align 4
  %cmp = icmp ne i32 %0, 0
  br i1 %cmp, label %cond.true, label %cond.false

cond.true:                                        ; preds = %entry
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base"* %this1, i32 0, i32 0
  %1 = bitcast %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl to %"class.__gnu_cxx::new_allocator.1"*
  %2 = load i32* %__n.addr, align 4
  %call = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZN9__gnu_cxx13new_allocatorIN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_11undirectedSENS1_11no_propertyENS1_8propertyINS1_13edge_weight_tEiS7_EES7_NS1_5listSEEES5_S5_S6_S7_SA_S7_SB_E6config13stored_vertexEE8allocateEjPKv(%"class.__gnu_cxx::new_allocator.1"* %1, i32 %2, i8* null)
  br label %cond.end

cond.false:                                       ; preds = %entry
  br label %cond.end

cond.end:                                         ; preds = %cond.false, %cond.true
  %cond = phi %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* [ %call, %cond.true ], [ null, %cond.false ]
  ret %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %cond
}

define linkonce_odr %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZN9__gnu_cxx13new_allocatorIN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_11undirectedSENS1_11no_propertyENS1_8propertyINS1_13edge_weight_tEiS7_EES7_NS1_5listSEEES5_S5_S6_S7_SA_S7_SB_E6config13stored_vertexEE8allocateEjPKv(%"class.__gnu_cxx::new_allocator.1"* %this, i32 %__n, i8*) align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.1"*, align 4
  %__n.addr = alloca i32, align 4
  %.addr = alloca i8*, align 4
  store %"class.__gnu_cxx::new_allocator.1"* %this, %"class.__gnu_cxx::new_allocator.1"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store i8* %0, i8** %.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.1"** %this.addr
  %1 = load i32* %__n.addr, align 4
  %call = call i32 @_ZNK9__gnu_cxx13new_allocatorIN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_11undirectedSENS1_11no_propertyENS1_8propertyINS1_13edge_weight_tEiS7_EES7_NS1_5listSEEES5_S5_S6_S7_SA_S7_SB_E6config13stored_vertexEE8max_sizeEv(%"class.__gnu_cxx::new_allocator.1"* %this1) nounwind
  %cmp = icmp ugt i32 %1, %call
  br i1 %cmp, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  call void @_ZSt17__throw_bad_allocv() noreturn
  unreachable

if.end:                                           ; preds = %entry
  %2 = load i32* %__n.addr, align 4
  %mul = mul i32 %2, 16
  %call2 = call noalias i8* @_Znwj(i32 %mul)
  %3 = bitcast i8* %call2 to %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*
  ret %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %3
}

define linkonce_odr i32 @_ZNK9__gnu_cxx13new_allocatorIN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_11undirectedSENS1_11no_propertyENS1_8propertyINS1_13edge_weight_tEiS7_EES7_NS1_5listSEEES5_S5_S6_S7_SA_S7_SB_E6config13stored_vertexEE8max_sizeEv(%"class.__gnu_cxx::new_allocator.1"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.1"*, align 4
  store %"class.__gnu_cxx::new_allocator.1"* %this, %"class.__gnu_cxx::new_allocator.1"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.1"** %this.addr
  ret i32 268435455
}

define linkonce_odr i32 @_ZNKSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE8max_sizeEv(%"class.std::vector"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::vector"*, align 4
  store %"class.std::vector"* %this, %"class.std::vector"** %this.addr, align 4
  %this1 = load %"class.std::vector"** %this.addr
  %0 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %call = call %"class.std::allocator.0"* @_ZNKSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base"* %0)
  %1 = bitcast %"class.std::allocator.0"* %call to %"class.__gnu_cxx::new_allocator.1"*
  %call2 = call i32 @_ZNK9__gnu_cxx13new_allocatorIN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_11undirectedSENS1_11no_propertyENS1_8propertyINS1_13edge_weight_tEiS7_EES7_NS1_5listSEEES5_S5_S6_S7_SA_S7_SB_E6config13stored_vertexEE8max_sizeEv(%"class.__gnu_cxx::new_allocator.1"* %1) nounwind
  ret i32 %call2
}

define linkonce_odr %"class.std::allocator.0"* @_ZNKSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base"*, align 4
  store %"struct.std::_Vector_base"* %this, %"struct.std::_Vector_base"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base"** %this.addr
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base"* %this1, i32 0, i32 0
  %0 = bitcast %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl to %"class.std::allocator.0"*
  ret %"class.std::allocator.0"* %0
}

define linkonce_odr void @_ZSt20uninitialized_fill_nIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexEjSE_EvT_T0_RKT1_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__first, i32 %__n, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__x) inlinehint {
entry:
  %__first.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__n.addr = alloca i32, align 4
  %__x.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__x, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__x.addr, align 4
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %1 = load i32* %__n.addr, align 4
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__x.addr, align 4
  call void @_ZNSt22__uninitialized_fill_nILb0EE15__uninit_fill_nIPN5boost6detail12adj_list_genINS2_14adjacency_listINS2_4vecSES6_NS2_11undirectedSENS2_11no_propertyENS2_8propertyINS2_13edge_weight_tEiS8_EES8_NS2_5listSEEES6_S6_S7_S8_SB_S8_SC_E6config13stored_vertexEjSG_EEvT_T0_RKT1_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %0, i32 %1, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %2)
  ret void
}

define linkonce_odr void @_ZNSt22__uninitialized_fill_nILb0EE15__uninit_fill_nIPN5boost6detail12adj_list_genINS2_14adjacency_listINS2_4vecSES6_NS2_11undirectedSENS2_11no_propertyENS2_8propertyINS2_13edge_weight_tEiS8_EES8_NS2_5listSEEES6_S6_S7_S8_SB_S8_SC_E6config13stored_vertexEjSG_EEvT_T0_RKT1_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__first, i32 %__n, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__x) align 2 {
entry:
  %__first.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__n.addr = alloca i32, align 4
  %__x.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__cur = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__x, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__x.addr, align 4
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %0, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__cur, align 4
  br label %for.cond

for.cond:                                         ; preds = %for.inc, %entry
  %1 = load i32* %__n.addr, align 4
  %cmp = icmp ugt i32 %1, 0
  br i1 %cmp, label %for.body, label %for.end

for.body:                                         ; preds = %for.cond
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__cur, align 4
  %call = invoke %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt11__addressofIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexEEPT_RSF_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %2)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %for.body
  %3 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__x.addr, align 4
  invoke void @_ZSt10_ConstructIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESE_EvPT_RKT0_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %call, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %3)
          to label %invoke.cont1 unwind label %lpad

invoke.cont1:                                     ; preds = %invoke.cont
  br label %for.inc

for.inc:                                          ; preds = %invoke.cont1
  %4 = load i32* %__n.addr, align 4
  %dec = add i32 %4, -1
  store i32 %dec, i32* %__n.addr, align 4
  %5 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__cur, align 4
  %incdec.ptr = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %5, i32 1
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %incdec.ptr, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__cur, align 4
  br label %for.cond

lpad:                                             ; preds = %invoke.cont, %for.body
  %6 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  %7 = extractvalue { i8*, i32 } %6, 0
  store i8* %7, i8** %exn.slot
  %8 = extractvalue { i8*, i32 } %6, 1
  store i32 %8, i32* %ehselector.slot
  br label %catch

catch:                                            ; preds = %lpad
  %exn = load i8** %exn.slot
  %9 = call i8* @__cxa_begin_catch(i8* %exn) nounwind
  %10 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %11 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__cur, align 4
  invoke void @_ZSt8_DestroyIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexEEvT_SG_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %10, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %11)
          to label %invoke.cont3 unwind label %lpad2

invoke.cont3:                                     ; preds = %catch
  invoke void @__cxa_rethrow() noreturn
          to label %unreachable unwind label %lpad2

for.end:                                          ; preds = %for.cond
  br label %try.cont

lpad2:                                            ; preds = %invoke.cont3, %catch
  %12 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %13 = extractvalue { i8*, i32 } %12, 0
  store i8* %13, i8** %exn.slot
  %14 = extractvalue { i8*, i32 } %12, 1
  store i32 %14, i32* %ehselector.slot
  invoke void @__cxa_end_catch()
          to label %invoke.cont4 unwind label %terminate.lpad

invoke.cont4:                                     ; preds = %lpad2
  br label %eh.resume

try.cont:                                         ; preds = %for.end
  ret void

eh.resume:                                        ; preds = %invoke.cont4
  %exn5 = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn5, 0
  %lpad.val6 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val6

terminate.lpad:                                   ; preds = %lpad2
  %15 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable

unreachable:                                      ; preds = %invoke.cont3
  unreachable
}

define linkonce_odr void @_ZSt10_ConstructIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESE_EvPT_RKT0_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__p, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__value) inlinehint {
entry:
  %__p.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__value.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__p, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__p.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__value, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__value.addr, align 4
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__p.addr, align 4
  %1 = bitcast %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %0 to i8*
  %new.isnull = icmp eq i8* %1, null
  br i1 %new.isnull, label %new.cont, label %new.notnull

new.notnull:                                      ; preds = %entry
  %2 = bitcast i8* %1 to %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*
  %3 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__value.addr, align 4
  call void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config13stored_vertexC1ERKSD_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %2, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %3)
  br label %new.cont

new.cont:                                         ; preds = %new.notnull, %entry
  %4 = phi %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* [ %2, %new.notnull ], [ null, %entry ]
  ret void
}

define linkonce_odr void @_ZSt8__fill_aIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESE_EN9__gnu_cxx11__enable_ifIXntsr11__is_scalarIT0_EE7__valueEvE6__typeET_SL_RKSI_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__value) inlinehint {
entry:
  %__first.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__last.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__value.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__value, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__value.addr, align 4
  br label %for.cond

for.cond:                                         ; preds = %for.inc, %entry
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  %cmp = icmp ne %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %0, %1
  br i1 %cmp, label %for.body, label %for.end

for.body:                                         ; preds = %for.cond
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %3 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__value.addr, align 4
  %call = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config13stored_vertexaSERKSD_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %2, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %3)
  br label %for.inc

for.inc:                                          ; preds = %for.body
  %4 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %incdec.ptr = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %4, i32 1
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %incdec.ptr, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  br label %for.cond

for.end:                                          ; preds = %for.cond
  ret void
}

define linkonce_odr %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt12__niter_baseIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexEENSt11_Niter_baseIT_E13iterator_typeESH_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__it) inlinehint {
entry:
  %__it.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__it, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__it.addr, align 4
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__it.addr, align 4
  %call = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZNSt10_Iter_baseIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexELb0EE7_S_baseESF_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %0)
  ret %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %call
}

define linkonce_odr %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZNSt10_Iter_baseIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexELb0EE7_S_baseESF_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__it) nounwind align 2 {
entry:
  %__it.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__it, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__it.addr, align 4
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__it.addr, align 4
  ret %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %0
}

define linkonce_odr %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config13stored_vertexaSERKSD_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %this, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*) inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %this, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %this.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %0, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %.addr, align 4
  %this1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %this.addr
  %1 = bitcast %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %this1 to %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"*
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %.addr, align 4
  %3 = bitcast %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %2 to %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"*
  %call = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"* @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config18rand_stored_vertexaSERKSD_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"* %1, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"* %3)
  ret %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %this1
}

define linkonce_odr %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"* @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config18rand_stored_vertexaSERKSD_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"* %this, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"*) inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"*, align 4
  %.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"* %this, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"** %this.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"* %0, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"** %.addr, align 4
  %this1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"** %this.addr
  %m_out_edges = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"* %this1, i32 0, i32 0
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"** %.addr, align 4
  %m_out_edges2 = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"* %1, i32 0, i32 0
  %call = call %"class.std::vector.11"* @_ZNSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EEaSERKSD_(%"class.std::vector.11"* %m_out_edges, %"class.std::vector.11"* %m_out_edges2)
  %m_property = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"* %this1, i32 0, i32 1
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"** %.addr, align 4
  %m_property3 = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"* %2, i32 0, i32 1
  ret %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"* %this1
}

define linkonce_odr %"class.std::vector.11"* @_ZNSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EEaSERKSD_(%"class.std::vector.11"* %this, %"class.std::vector.11"* %__x) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.11"*, align 4
  %__x.addr = alloca %"class.std::vector.11"*, align 4
  %__xlen = alloca i32, align 4
  %__tmp = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator.44", align 4
  %agg.tmp5 = alloca %"class.__gnu_cxx::__normal_iterator.44", align 4
  %agg.tmp23 = alloca %"class.__gnu_cxx::__normal_iterator.38", align 4
  %agg.tmp24 = alloca %"class.__gnu_cxx::__normal_iterator.44", align 4
  %agg.tmp25 = alloca %"class.__gnu_cxx::__normal_iterator.44", align 4
  %agg.tmp26 = alloca %"class.__gnu_cxx::__normal_iterator.38", align 4
  %agg.tmp27 = alloca %"class.__gnu_cxx::__normal_iterator.38", align 4
  store %"class.std::vector.11"* %this, %"class.std::vector.11"** %this.addr, align 4
  store %"class.std::vector.11"* %__x, %"class.std::vector.11"** %__x.addr, align 4
  %this1 = load %"class.std::vector.11"** %this.addr
  %0 = load %"class.std::vector.11"** %__x.addr, align 4
  %cmp = icmp ne %"class.std::vector.11"* %0, %this1
  br i1 %cmp, label %if.then, label %if.end55

if.then:                                          ; preds = %entry
  %1 = load %"class.std::vector.11"** %__x.addr, align 4
  %call = call i32 @_ZNKSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE4sizeEv(%"class.std::vector.11"* %1)
  store i32 %call, i32* %__xlen, align 4
  %2 = load i32* %__xlen, align 4
  %call2 = call i32 @_ZNKSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE8capacityEv(%"class.std::vector.11"* %this1)
  %cmp3 = icmp ugt i32 %2, %call2
  br i1 %cmp3, label %if.then4, label %if.else

if.then4:                                         ; preds = %if.then
  %3 = load i32* %__xlen, align 4
  %4 = load %"class.std::vector.11"** %__x.addr, align 4
  call void @_ZNKSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE5beginEv(%"class.__gnu_cxx::__normal_iterator.44"* sret %agg.tmp, %"class.std::vector.11"* %4)
  %5 = load %"class.std::vector.11"** %__x.addr, align 4
  call void @_ZNKSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE3endEv(%"class.__gnu_cxx::__normal_iterator.44"* sret %agg.tmp5, %"class.std::vector.11"* %5)
  %call6 = call %"class.boost::detail::stored_edge_iter"* @_ZNSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKSB_SD_EEEEPSB_jT_SL_(%"class.std::vector.11"* %this1, i32 %3, %"class.__gnu_cxx::__normal_iterator.44"* byval align 4 %agg.tmp, %"class.__gnu_cxx::__normal_iterator.44"* byval align 4 %agg.tmp5)
  store %"class.boost::detail::stored_edge_iter"* %call6, %"class.boost::detail::stored_edge_iter"** %__tmp, align 4
  %6 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.12"* %6, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl, i32 0, i32 0
  %7 = load %"class.boost::detail::stored_edge_iter"** %_M_start, align 4
  %8 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl7 = getelementptr inbounds %"struct.std::_Vector_base.12"* %8, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl7, i32 0, i32 1
  %9 = load %"class.boost::detail::stored_edge_iter"** %_M_finish, align 4
  %10 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %call8 = call %"class.std::allocator.13"* @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.12"* %10)
  call void @_ZSt8_DestroyIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESB_EvT_SD_RSaIT0_E(%"class.boost::detail::stored_edge_iter"* %7, %"class.boost::detail::stored_edge_iter"* %9, %"class.std::allocator.13"* %call8)
  %11 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %12 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl9 = getelementptr inbounds %"struct.std::_Vector_base.12"* %12, i32 0, i32 0
  %_M_start10 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl9, i32 0, i32 0
  %13 = load %"class.boost::detail::stored_edge_iter"** %_M_start10, align 4
  %14 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl11 = getelementptr inbounds %"struct.std::_Vector_base.12"* %14, i32 0, i32 0
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl11, i32 0, i32 2
  %15 = load %"class.boost::detail::stored_edge_iter"** %_M_end_of_storage, align 4
  %16 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl12 = getelementptr inbounds %"struct.std::_Vector_base.12"* %16, i32 0, i32 0
  %_M_start13 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl12, i32 0, i32 0
  %17 = load %"class.boost::detail::stored_edge_iter"** %_M_start13, align 4
  %sub.ptr.lhs.cast = ptrtoint %"class.boost::detail::stored_edge_iter"* %15 to i32
  %sub.ptr.rhs.cast = ptrtoint %"class.boost::detail::stored_edge_iter"* %17 to i32
  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  %sub.ptr.div = sdiv exact i32 %sub.ptr.sub, 8
  call void @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE13_M_deallocateEPSB_j(%"struct.std::_Vector_base.12"* %11, %"class.boost::detail::stored_edge_iter"* %13, i32 %sub.ptr.div)
  %18 = load %"class.boost::detail::stored_edge_iter"** %__tmp, align 4
  %19 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl14 = getelementptr inbounds %"struct.std::_Vector_base.12"* %19, i32 0, i32 0
  %_M_start15 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl14, i32 0, i32 0
  store %"class.boost::detail::stored_edge_iter"* %18, %"class.boost::detail::stored_edge_iter"** %_M_start15, align 4
  %20 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl16 = getelementptr inbounds %"struct.std::_Vector_base.12"* %20, i32 0, i32 0
  %_M_start17 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl16, i32 0, i32 0
  %21 = load %"class.boost::detail::stored_edge_iter"** %_M_start17, align 4
  %22 = load i32* %__xlen, align 4
  %add.ptr = getelementptr inbounds %"class.boost::detail::stored_edge_iter"* %21, i32 %22
  %23 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl18 = getelementptr inbounds %"struct.std::_Vector_base.12"* %23, i32 0, i32 0
  %_M_end_of_storage19 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl18, i32 0, i32 2
  store %"class.boost::detail::stored_edge_iter"* %add.ptr, %"class.boost::detail::stored_edge_iter"** %_M_end_of_storage19, align 4
  br label %if.end49

if.else:                                          ; preds = %if.then
  %call20 = call i32 @_ZNKSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE4sizeEv(%"class.std::vector.11"* %this1)
  %24 = load i32* %__xlen, align 4
  %cmp21 = icmp uge i32 %call20, %24
  br i1 %cmp21, label %if.then22, label %if.else29

if.then22:                                        ; preds = %if.else
  %25 = load %"class.std::vector.11"** %__x.addr, align 4
  call void @_ZNKSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE5beginEv(%"class.__gnu_cxx::__normal_iterator.44"* sret %agg.tmp24, %"class.std::vector.11"* %25)
  %26 = load %"class.std::vector.11"** %__x.addr, align 4
  call void @_ZNKSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE3endEv(%"class.__gnu_cxx::__normal_iterator.44"* sret %agg.tmp25, %"class.std::vector.11"* %26)
  call void @_ZNSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE5beginEv(%"class.__gnu_cxx::__normal_iterator.38"* sret %agg.tmp26, %"class.std::vector.11"* %this1)
  call void @_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS2_9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEESA_EESt6vectorISD_SaISD_EEEENS1_IPSD_SI_EEET0_T_SN_SM_(%"class.__gnu_cxx::__normal_iterator.38"* sret %agg.tmp23, %"class.__gnu_cxx::__normal_iterator.44"* byval align 4 %agg.tmp24, %"class.__gnu_cxx::__normal_iterator.44"* byval align 4 %agg.tmp25, %"class.__gnu_cxx::__normal_iterator.38"* byval align 4 %agg.tmp26)
  call void @_ZNSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE3endEv(%"class.__gnu_cxx::__normal_iterator.38"* sret %agg.tmp27, %"class.std::vector.11"* %this1)
  %27 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %call28 = call %"class.std::allocator.13"* @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.12"* %27)
  call void @_ZSt8_DestroyIN9__gnu_cxx17__normal_iteratorIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS2_9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEESA_EESt6vectorISD_SaISD_EEEESD_EvT_SJ_RSaIT0_E(%"class.__gnu_cxx::__normal_iterator.38"* byval align 4 %agg.tmp23, %"class.__gnu_cxx::__normal_iterator.38"* byval align 4 %agg.tmp27, %"class.std::allocator.13"* %call28)
  br label %if.end

if.else29:                                        ; preds = %if.else
  %28 = load %"class.std::vector.11"** %__x.addr, align 4
  %29 = bitcast %"class.std::vector.11"* %28 to %"struct.std::_Vector_base.12"*
  %_M_impl30 = getelementptr inbounds %"struct.std::_Vector_base.12"* %29, i32 0, i32 0
  %_M_start31 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl30, i32 0, i32 0
  %30 = load %"class.boost::detail::stored_edge_iter"** %_M_start31, align 4
  %31 = load %"class.std::vector.11"** %__x.addr, align 4
  %32 = bitcast %"class.std::vector.11"* %31 to %"struct.std::_Vector_base.12"*
  %_M_impl32 = getelementptr inbounds %"struct.std::_Vector_base.12"* %32, i32 0, i32 0
  %_M_start33 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl32, i32 0, i32 0
  %33 = load %"class.boost::detail::stored_edge_iter"** %_M_start33, align 4
  %call34 = call i32 @_ZNKSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE4sizeEv(%"class.std::vector.11"* %this1)
  %add.ptr35 = getelementptr inbounds %"class.boost::detail::stored_edge_iter"* %33, i32 %call34
  %34 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl36 = getelementptr inbounds %"struct.std::_Vector_base.12"* %34, i32 0, i32 0
  %_M_start37 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl36, i32 0, i32 0
  %35 = load %"class.boost::detail::stored_edge_iter"** %_M_start37, align 4
  %call38 = call %"class.boost::detail::stored_edge_iter"* @_ZSt4copyIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESC_ET0_T_SE_SD_(%"class.boost::detail::stored_edge_iter"* %30, %"class.boost::detail::stored_edge_iter"* %add.ptr35, %"class.boost::detail::stored_edge_iter"* %35)
  %36 = load %"class.std::vector.11"** %__x.addr, align 4
  %37 = bitcast %"class.std::vector.11"* %36 to %"struct.std::_Vector_base.12"*
  %_M_impl39 = getelementptr inbounds %"struct.std::_Vector_base.12"* %37, i32 0, i32 0
  %_M_start40 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl39, i32 0, i32 0
  %38 = load %"class.boost::detail::stored_edge_iter"** %_M_start40, align 4
  %call41 = call i32 @_ZNKSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE4sizeEv(%"class.std::vector.11"* %this1)
  %add.ptr42 = getelementptr inbounds %"class.boost::detail::stored_edge_iter"* %38, i32 %call41
  %39 = load %"class.std::vector.11"** %__x.addr, align 4
  %40 = bitcast %"class.std::vector.11"* %39 to %"struct.std::_Vector_base.12"*
  %_M_impl43 = getelementptr inbounds %"struct.std::_Vector_base.12"* %40, i32 0, i32 0
  %_M_finish44 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl43, i32 0, i32 1
  %41 = load %"class.boost::detail::stored_edge_iter"** %_M_finish44, align 4
  %42 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl45 = getelementptr inbounds %"struct.std::_Vector_base.12"* %42, i32 0, i32 0
  %_M_finish46 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl45, i32 0, i32 1
  %43 = load %"class.boost::detail::stored_edge_iter"** %_M_finish46, align 4
  %44 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %call47 = call %"class.std::allocator.13"* @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.12"* %44)
  %call48 = call %"class.boost::detail::stored_edge_iter"* @_ZSt22__uninitialized_copy_aIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESC_SB_ET0_T_SE_SD_RSaIT1_E(%"class.boost::detail::stored_edge_iter"* %add.ptr42, %"class.boost::detail::stored_edge_iter"* %41, %"class.boost::detail::stored_edge_iter"* %43, %"class.std::allocator.13"* %call47)
  br label %if.end

if.end:                                           ; preds = %if.else29, %if.then22
  br label %if.end49

if.end49:                                         ; preds = %if.end, %if.then4
  %45 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl50 = getelementptr inbounds %"struct.std::_Vector_base.12"* %45, i32 0, i32 0
  %_M_start51 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl50, i32 0, i32 0
  %46 = load %"class.boost::detail::stored_edge_iter"** %_M_start51, align 4
  %47 = load i32* %__xlen, align 4
  %add.ptr52 = getelementptr inbounds %"class.boost::detail::stored_edge_iter"* %46, i32 %47
  %48 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl53 = getelementptr inbounds %"struct.std::_Vector_base.12"* %48, i32 0, i32 0
  %_M_finish54 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl53, i32 0, i32 1
  store %"class.boost::detail::stored_edge_iter"* %add.ptr52, %"class.boost::detail::stored_edge_iter"** %_M_finish54, align 4
  br label %if.end55

if.end55:                                         ; preds = %if.end49, %entry
  ret %"class.std::vector.11"* %this1
}

define linkonce_odr i32 @_ZNKSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE8capacityEv(%"class.std::vector.11"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::vector.11"*, align 4
  store %"class.std::vector.11"* %this, %"class.std::vector.11"** %this.addr, align 4
  %this1 = load %"class.std::vector.11"** %this.addr
  %0 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.12"* %0, i32 0, i32 0
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl, i32 0, i32 2
  %1 = load %"class.boost::detail::stored_edge_iter"** %_M_end_of_storage, align 4
  %2 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base.12"* %2, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl2, i32 0, i32 0
  %3 = load %"class.boost::detail::stored_edge_iter"** %_M_start, align 4
  %sub.ptr.lhs.cast = ptrtoint %"class.boost::detail::stored_edge_iter"* %1 to i32
  %sub.ptr.rhs.cast = ptrtoint %"class.boost::detail::stored_edge_iter"* %3 to i32
  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  %sub.ptr.div = sdiv exact i32 %sub.ptr.sub, 8
  ret i32 %sub.ptr.div
}

define linkonce_odr %"class.boost::detail::stored_edge_iter"* @_ZNSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKSB_SD_EEEEPSB_jT_SL_(%"class.std::vector.11"* %this, i32 %__n, %"class.__gnu_cxx::__normal_iterator.44"* byval align 4 %__first, %"class.__gnu_cxx::__normal_iterator.44"* byval align 4 %__last) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.11"*, align 4
  %__n.addr = alloca i32, align 4
  %__result = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator.44", align 4
  %agg.tmp2 = alloca %"class.__gnu_cxx::__normal_iterator.44", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.std::vector.11"* %this, %"class.std::vector.11"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  %this1 = load %"class.std::vector.11"** %this.addr
  %0 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %1 = load i32* %__n.addr, align 4
  %call = call %"class.boost::detail::stored_edge_iter"* @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE11_M_allocateEj(%"struct.std::_Vector_base.12"* %0, i32 %1)
  store %"class.boost::detail::stored_edge_iter"* %call, %"class.boost::detail::stored_edge_iter"** %__result, align 4
  %2 = bitcast %"class.__gnu_cxx::__normal_iterator.44"* %agg.tmp to i8*
  %3 = bitcast %"class.__gnu_cxx::__normal_iterator.44"* %__first to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %2, i8* %3, i32 4, i32 4, i1 false)
  %4 = bitcast %"class.__gnu_cxx::__normal_iterator.44"* %agg.tmp2 to i8*
  %5 = bitcast %"class.__gnu_cxx::__normal_iterator.44"* %__last to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %5, i32 4, i32 4, i1 false)
  %6 = load %"class.boost::detail::stored_edge_iter"** %__result, align 4
  %7 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %call3 = invoke %"class.std::allocator.13"* @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.12"* %7)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %call5 = invoke %"class.boost::detail::stored_edge_iter"* @_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS2_9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEESA_EESt6vectorISD_SaISD_EEEEPSD_SD_ET0_T_SM_SL_RSaIT1_E(%"class.__gnu_cxx::__normal_iterator.44"* byval align 4 %agg.tmp, %"class.__gnu_cxx::__normal_iterator.44"* byval align 4 %agg.tmp2, %"class.boost::detail::stored_edge_iter"* %6, %"class.std::allocator.13"* %call3)
          to label %invoke.cont4 unwind label %lpad

invoke.cont4:                                     ; preds = %invoke.cont
  %8 = load %"class.boost::detail::stored_edge_iter"** %__result, align 4
  ret %"class.boost::detail::stored_edge_iter"* %8

lpad:                                             ; preds = %invoke.cont, %entry
  %9 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  %10 = extractvalue { i8*, i32 } %9, 0
  store i8* %10, i8** %exn.slot
  %11 = extractvalue { i8*, i32 } %9, 1
  store i32 %11, i32* %ehselector.slot
  br label %catch

catch:                                            ; preds = %lpad
  %exn = load i8** %exn.slot
  %12 = call i8* @__cxa_begin_catch(i8* %exn) nounwind
  %13 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %14 = load %"class.boost::detail::stored_edge_iter"** %__result, align 4
  %15 = load i32* %__n.addr, align 4
  invoke void @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE13_M_deallocateEPSB_j(%"struct.std::_Vector_base.12"* %13, %"class.boost::detail::stored_edge_iter"* %14, i32 %15)
          to label %invoke.cont7 unwind label %lpad6

invoke.cont7:                                     ; preds = %catch
  invoke void @__cxa_rethrow() noreturn
          to label %unreachable unwind label %lpad6

lpad6:                                            ; preds = %invoke.cont7, %catch
  %16 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %17 = extractvalue { i8*, i32 } %16, 0
  store i8* %17, i8** %exn.slot
  %18 = extractvalue { i8*, i32 } %16, 1
  store i32 %18, i32* %ehselector.slot
  invoke void @__cxa_end_catch()
          to label %invoke.cont8 unwind label %terminate.lpad

invoke.cont8:                                     ; preds = %lpad6
  br label %eh.resume

try.cont:                                         ; No predecessors!
  call void @llvm.trap()
  unreachable

eh.resume:                                        ; preds = %invoke.cont8
  %exn9 = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn9, 0
  %lpad.val10 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val10

terminate.lpad:                                   ; preds = %lpad6
  %19 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable

unreachable:                                      ; preds = %invoke.cont7
  unreachable
}

define linkonce_odr void @_ZNKSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE5beginEv(%"class.__gnu_cxx::__normal_iterator.44"* noalias sret %agg.result, %"class.std::vector.11"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.11"*, align 4
  %ref.tmp = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  store %"class.std::vector.11"* %this, %"class.std::vector.11"** %this.addr, align 4
  %this1 = load %"class.std::vector.11"** %this.addr
  %0 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.12"* %0, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl, i32 0, i32 0
  %1 = load %"class.boost::detail::stored_edge_iter"** %_M_start, align 4
  store %"class.boost::detail::stored_edge_iter"* %1, %"class.boost::detail::stored_edge_iter"** %ref.tmp, align 4
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EESt6vectorISC_SaISC_EEEC1ERKSE_(%"class.__gnu_cxx::__normal_iterator.44"* %agg.result, %"class.boost::detail::stored_edge_iter"** %ref.tmp)
  ret void
}

define linkonce_odr void @_ZNKSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE3endEv(%"class.__gnu_cxx::__normal_iterator.44"* noalias sret %agg.result, %"class.std::vector.11"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.11"*, align 4
  %ref.tmp = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  store %"class.std::vector.11"* %this, %"class.std::vector.11"** %this.addr, align 4
  %this1 = load %"class.std::vector.11"** %this.addr
  %0 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.12"* %0, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl, i32 0, i32 1
  %1 = load %"class.boost::detail::stored_edge_iter"** %_M_finish, align 4
  store %"class.boost::detail::stored_edge_iter"* %1, %"class.boost::detail::stored_edge_iter"** %ref.tmp, align 4
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EESt6vectorISC_SaISC_EEEC1ERKSE_(%"class.__gnu_cxx::__normal_iterator.44"* %agg.result, %"class.boost::detail::stored_edge_iter"** %ref.tmp)
  ret void
}

define linkonce_odr void @_ZSt8_DestroyIN9__gnu_cxx17__normal_iteratorIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS2_9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEESA_EESt6vectorISD_SaISD_EEEESD_EvT_SJ_RSaIT0_E(%"class.__gnu_cxx::__normal_iterator.38"* byval align 4 %__first, %"class.__gnu_cxx::__normal_iterator.38"* byval align 4 %__last, %"class.std::allocator.13"*) inlinehint {
entry:
  %.addr = alloca %"class.std::allocator.13"*, align 4
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator.38", align 4
  %agg.tmp1 = alloca %"class.__gnu_cxx::__normal_iterator.38", align 4
  store %"class.std::allocator.13"* %0, %"class.std::allocator.13"** %.addr, align 4
  %1 = bitcast %"class.__gnu_cxx::__normal_iterator.38"* %agg.tmp to i8*
  %2 = bitcast %"class.__gnu_cxx::__normal_iterator.38"* %__first to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1, i8* %2, i32 4, i32 4, i1 false)
  %3 = bitcast %"class.__gnu_cxx::__normal_iterator.38"* %agg.tmp1 to i8*
  %4 = bitcast %"class.__gnu_cxx::__normal_iterator.38"* %__last to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* %4, i32 4, i32 4, i1 false)
  call void @_ZSt8_DestroyIN9__gnu_cxx17__normal_iteratorIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS2_9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEESA_EESt6vectorISD_SaISD_EEEEEvT_SJ_(%"class.__gnu_cxx::__normal_iterator.38"* byval align 4 %agg.tmp, %"class.__gnu_cxx::__normal_iterator.38"* byval align 4 %agg.tmp1)
  ret void
}

define linkonce_odr void @_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS2_9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEESA_EESt6vectorISD_SaISD_EEEENS1_IPSD_SI_EEET0_T_SN_SM_(%"class.__gnu_cxx::__normal_iterator.38"* noalias sret %agg.result, %"class.__gnu_cxx::__normal_iterator.44"* byval align 4 %__first, %"class.__gnu_cxx::__normal_iterator.44"* byval align 4 %__last, %"class.__gnu_cxx::__normal_iterator.38"* byval align 4 %__result) inlinehint {
entry:
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator.44", align 4
  %agg.tmp1 = alloca %"class.__gnu_cxx::__normal_iterator.44", align 4
  %agg.tmp2 = alloca %"class.__gnu_cxx::__normal_iterator.44", align 4
  %agg.tmp3 = alloca %"class.__gnu_cxx::__normal_iterator.44", align 4
  %agg.tmp4 = alloca %"class.__gnu_cxx::__normal_iterator.38", align 4
  %0 = bitcast %"class.__gnu_cxx::__normal_iterator.44"* %agg.tmp1 to i8*
  %1 = bitcast %"class.__gnu_cxx::__normal_iterator.44"* %__first to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 4, i32 4, i1 false)
  call void @_ZSt12__miter_baseIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS2_9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEESA_EESt6vectorISD_SaISD_EEEEENSt11_Miter_baseIT_E13iterator_typeESL_(%"class.__gnu_cxx::__normal_iterator.44"* sret %agg.tmp, %"class.__gnu_cxx::__normal_iterator.44"* byval align 4 %agg.tmp1)
  %2 = bitcast %"class.__gnu_cxx::__normal_iterator.44"* %agg.tmp3 to i8*
  %3 = bitcast %"class.__gnu_cxx::__normal_iterator.44"* %__last to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %2, i8* %3, i32 4, i32 4, i1 false)
  call void @_ZSt12__miter_baseIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS2_9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEESA_EESt6vectorISD_SaISD_EEEEENSt11_Miter_baseIT_E13iterator_typeESL_(%"class.__gnu_cxx::__normal_iterator.44"* sret %agg.tmp2, %"class.__gnu_cxx::__normal_iterator.44"* byval align 4 %agg.tmp3)
  %4 = bitcast %"class.__gnu_cxx::__normal_iterator.38"* %agg.tmp4 to i8*
  %5 = bitcast %"class.__gnu_cxx::__normal_iterator.38"* %__result to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %5, i32 4, i32 4, i1 false)
  call void @_ZSt14__copy_move_a2ILb0EN9__gnu_cxx17__normal_iteratorIPKN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS2_9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEESA_EESt6vectorISD_SaISD_EEEENS1_IPSD_SI_EEET1_T0_SN_SM_(%"class.__gnu_cxx::__normal_iterator.38"* sret %agg.result, %"class.__gnu_cxx::__normal_iterator.44"* byval align 4 %agg.tmp, %"class.__gnu_cxx::__normal_iterator.44"* byval align 4 %agg.tmp2, %"class.__gnu_cxx::__normal_iterator.38"* byval align 4 %agg.tmp4)
  ret void
}

define linkonce_odr %"class.boost::detail::stored_edge_iter"* @_ZSt4copyIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESC_ET0_T_SE_SD_(%"class.boost::detail::stored_edge_iter"* %__first, %"class.boost::detail::stored_edge_iter"* %__last, %"class.boost::detail::stored_edge_iter"* %__result) inlinehint {
entry:
  %__first.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__last.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__result.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  store %"class.boost::detail::stored_edge_iter"* %__first, %"class.boost::detail::stored_edge_iter"** %__first.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %__last, %"class.boost::detail::stored_edge_iter"** %__last.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %__result, %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  %0 = load %"class.boost::detail::stored_edge_iter"** %__first.addr, align 4
  %call = call %"class.boost::detail::stored_edge_iter"* @_ZSt12__miter_baseIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EEENSt11_Miter_baseIT_E13iterator_typeESE_(%"class.boost::detail::stored_edge_iter"* %0)
  %1 = load %"class.boost::detail::stored_edge_iter"** %__last.addr, align 4
  %call1 = call %"class.boost::detail::stored_edge_iter"* @_ZSt12__miter_baseIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EEENSt11_Miter_baseIT_E13iterator_typeESE_(%"class.boost::detail::stored_edge_iter"* %1)
  %2 = load %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  %call2 = call %"class.boost::detail::stored_edge_iter"* @_ZSt14__copy_move_a2ILb0EPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESC_ET1_T0_SE_SD_(%"class.boost::detail::stored_edge_iter"* %call, %"class.boost::detail::stored_edge_iter"* %call1, %"class.boost::detail::stored_edge_iter"* %2)
  ret %"class.boost::detail::stored_edge_iter"* %call2
}

define linkonce_odr %"class.boost::detail::stored_edge_iter"* @_ZSt14__copy_move_a2ILb0EPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESC_ET1_T0_SE_SD_(%"class.boost::detail::stored_edge_iter"* %__first, %"class.boost::detail::stored_edge_iter"* %__last, %"class.boost::detail::stored_edge_iter"* %__result) inlinehint {
entry:
  %__first.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__last.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__result.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  store %"class.boost::detail::stored_edge_iter"* %__first, %"class.boost::detail::stored_edge_iter"** %__first.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %__last, %"class.boost::detail::stored_edge_iter"** %__last.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %__result, %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  %0 = load %"class.boost::detail::stored_edge_iter"** %__first.addr, align 4
  %call = call %"class.boost::detail::stored_edge_iter"* @_ZSt12__niter_baseIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EEENSt11_Niter_baseIT_E13iterator_typeESE_(%"class.boost::detail::stored_edge_iter"* %0)
  %1 = load %"class.boost::detail::stored_edge_iter"** %__last.addr, align 4
  %call1 = call %"class.boost::detail::stored_edge_iter"* @_ZSt12__niter_baseIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EEENSt11_Niter_baseIT_E13iterator_typeESE_(%"class.boost::detail::stored_edge_iter"* %1)
  %2 = load %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  %call2 = call %"class.boost::detail::stored_edge_iter"* @_ZSt12__niter_baseIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EEENSt11_Niter_baseIT_E13iterator_typeESE_(%"class.boost::detail::stored_edge_iter"* %2)
  %call3 = call %"class.boost::detail::stored_edge_iter"* @_ZSt13__copy_move_aILb0EPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESC_ET1_T0_SE_SD_(%"class.boost::detail::stored_edge_iter"* %call, %"class.boost::detail::stored_edge_iter"* %call1, %"class.boost::detail::stored_edge_iter"* %call2)
  ret %"class.boost::detail::stored_edge_iter"* %call3
}

define linkonce_odr %"class.boost::detail::stored_edge_iter"* @_ZSt13__copy_move_aILb0EPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESC_ET1_T0_SE_SD_(%"class.boost::detail::stored_edge_iter"* %__first, %"class.boost::detail::stored_edge_iter"* %__last, %"class.boost::detail::stored_edge_iter"* %__result) inlinehint {
entry:
  %__first.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__last.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__result.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__simple = alloca i8, align 1
  store %"class.boost::detail::stored_edge_iter"* %__first, %"class.boost::detail::stored_edge_iter"** %__first.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %__last, %"class.boost::detail::stored_edge_iter"** %__last.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %__result, %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  store i8 0, i8* %__simple, align 1
  %0 = load %"class.boost::detail::stored_edge_iter"** %__first.addr, align 4
  %1 = load %"class.boost::detail::stored_edge_iter"** %__last.addr, align 4
  %2 = load %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  %call = call %"class.boost::detail::stored_edge_iter"* @_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS3_9list_edgeIjNS3_8propertyINS3_13edge_weight_tEiNS3_11no_propertyEEEEEESB_EESF_EET0_T_SH_SG_(%"class.boost::detail::stored_edge_iter"* %0, %"class.boost::detail::stored_edge_iter"* %1, %"class.boost::detail::stored_edge_iter"* %2)
  ret %"class.boost::detail::stored_edge_iter"* %call
}

define linkonce_odr %"class.boost::detail::stored_edge_iter"* @_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS3_9list_edgeIjNS3_8propertyINS3_13edge_weight_tEiNS3_11no_propertyEEEEEESB_EESF_EET0_T_SH_SG_(%"class.boost::detail::stored_edge_iter"* %__first, %"class.boost::detail::stored_edge_iter"* %__last, %"class.boost::detail::stored_edge_iter"* %__result) align 2 {
entry:
  %__first.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__last.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__result.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__n = alloca i32, align 4
  store %"class.boost::detail::stored_edge_iter"* %__first, %"class.boost::detail::stored_edge_iter"** %__first.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %__last, %"class.boost::detail::stored_edge_iter"** %__last.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %__result, %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  %0 = load %"class.boost::detail::stored_edge_iter"** %__last.addr, align 4
  %1 = load %"class.boost::detail::stored_edge_iter"** %__first.addr, align 4
  %sub.ptr.lhs.cast = ptrtoint %"class.boost::detail::stored_edge_iter"* %0 to i32
  %sub.ptr.rhs.cast = ptrtoint %"class.boost::detail::stored_edge_iter"* %1 to i32
  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  %sub.ptr.div = sdiv exact i32 %sub.ptr.sub, 8
  store i32 %sub.ptr.div, i32* %__n, align 4
  br label %for.cond

for.cond:                                         ; preds = %for.inc, %entry
  %2 = load i32* %__n, align 4
  %cmp = icmp sgt i32 %2, 0
  br i1 %cmp, label %for.body, label %for.end

for.body:                                         ; preds = %for.cond
  %3 = load %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  %4 = load %"class.boost::detail::stored_edge_iter"** %__first.addr, align 4
  %call = call %"class.boost::detail::stored_edge_iter"* @_ZN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEES7_EaSERKSA_(%"class.boost::detail::stored_edge_iter"* %3, %"class.boost::detail::stored_edge_iter"* %4)
  %5 = load %"class.boost::detail::stored_edge_iter"** %__first.addr, align 4
  %incdec.ptr = getelementptr inbounds %"class.boost::detail::stored_edge_iter"* %5, i32 1
  store %"class.boost::detail::stored_edge_iter"* %incdec.ptr, %"class.boost::detail::stored_edge_iter"** %__first.addr, align 4
  %6 = load %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  %incdec.ptr1 = getelementptr inbounds %"class.boost::detail::stored_edge_iter"* %6, i32 1
  store %"class.boost::detail::stored_edge_iter"* %incdec.ptr1, %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  br label %for.inc

for.inc:                                          ; preds = %for.body
  %7 = load i32* %__n, align 4
  %dec = add nsw i32 %7, -1
  store i32 %dec, i32* %__n, align 4
  br label %for.cond

for.end:                                          ; preds = %for.cond
  %8 = load %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  ret %"class.boost::detail::stored_edge_iter"* %8
}

define linkonce_odr void @_ZSt14__copy_move_a2ILb0EN9__gnu_cxx17__normal_iteratorIPKN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS2_9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEESA_EESt6vectorISD_SaISD_EEEENS1_IPSD_SI_EEET1_T0_SN_SM_(%"class.__gnu_cxx::__normal_iterator.38"* noalias sret %agg.result, %"class.__gnu_cxx::__normal_iterator.44"* byval align 4 %__first, %"class.__gnu_cxx::__normal_iterator.44"* byval align 4 %__last, %"class.__gnu_cxx::__normal_iterator.38"* byval align 4 %__result) inlinehint {
entry:
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator.44", align 4
  %agg.tmp1 = alloca %"class.__gnu_cxx::__normal_iterator.44", align 4
  %agg.tmp3 = alloca %"class.__gnu_cxx::__normal_iterator.38", align 4
  %ref.tmp = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %0 = bitcast %"class.__gnu_cxx::__normal_iterator.44"* %agg.tmp to i8*
  %1 = bitcast %"class.__gnu_cxx::__normal_iterator.44"* %__first to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 4, i32 4, i1 false)
  %call = call %"class.boost::detail::stored_edge_iter"* @_ZSt12__niter_baseIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS2_9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEESA_EESt6vectorISD_SaISD_EEEEENSt11_Niter_baseIT_E13iterator_typeESL_(%"class.__gnu_cxx::__normal_iterator.44"* byval align 4 %agg.tmp)
  %2 = bitcast %"class.__gnu_cxx::__normal_iterator.44"* %agg.tmp1 to i8*
  %3 = bitcast %"class.__gnu_cxx::__normal_iterator.44"* %__last to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %2, i8* %3, i32 4, i32 4, i1 false)
  %call2 = call %"class.boost::detail::stored_edge_iter"* @_ZSt12__niter_baseIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS2_9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEESA_EESt6vectorISD_SaISD_EEEEENSt11_Niter_baseIT_E13iterator_typeESL_(%"class.__gnu_cxx::__normal_iterator.44"* byval align 4 %agg.tmp1)
  %4 = bitcast %"class.__gnu_cxx::__normal_iterator.38"* %agg.tmp3 to i8*
  %5 = bitcast %"class.__gnu_cxx::__normal_iterator.38"* %__result to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %5, i32 4, i32 4, i1 false)
  %call4 = call %"class.boost::detail::stored_edge_iter"* @_ZSt12__niter_baseIN9__gnu_cxx17__normal_iteratorIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS2_9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEESA_EESt6vectorISD_SaISD_EEEEENSt11_Niter_baseIT_E13iterator_typeESK_(%"class.__gnu_cxx::__normal_iterator.38"* byval align 4 %agg.tmp3)
  %call5 = call %"class.boost::detail::stored_edge_iter"* @_ZSt13__copy_move_aILb0EPKN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EEPSB_ET1_T0_SG_SF_(%"class.boost::detail::stored_edge_iter"* %call, %"class.boost::detail::stored_edge_iter"* %call2, %"class.boost::detail::stored_edge_iter"* %call4)
  store %"class.boost::detail::stored_edge_iter"* %call5, %"class.boost::detail::stored_edge_iter"** %ref.tmp, align 4
  call void @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EESt6vectorISC_SaISC_EEEC1ERKSD_(%"class.__gnu_cxx::__normal_iterator.38"* %agg.result, %"class.boost::detail::stored_edge_iter"** %ref.tmp)
  ret void
}

define linkonce_odr void @_ZSt12__miter_baseIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS2_9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEESA_EESt6vectorISD_SaISD_EEEEENSt11_Miter_baseIT_E13iterator_typeESL_(%"class.__gnu_cxx::__normal_iterator.44"* noalias sret %agg.result, %"class.__gnu_cxx::__normal_iterator.44"* byval align 4 %__it) inlinehint {
entry:
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator.44", align 4
  %0 = bitcast %"class.__gnu_cxx::__normal_iterator.44"* %agg.tmp to i8*
  %1 = bitcast %"class.__gnu_cxx::__normal_iterator.44"* %__it to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 4, i32 4, i1 false)
  call void @_ZNSt10_Iter_baseIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS2_9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEESA_EESt6vectorISD_SaISD_EEEELb0EE7_S_baseESJ_(%"class.__gnu_cxx::__normal_iterator.44"* sret %agg.result, %"class.__gnu_cxx::__normal_iterator.44"* byval align 4 %agg.tmp)
  ret void
}

define linkonce_odr void @_ZNSt10_Iter_baseIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS2_9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEESA_EESt6vectorISD_SaISD_EEEELb0EE7_S_baseESJ_(%"class.__gnu_cxx::__normal_iterator.44"* noalias sret %agg.result, %"class.__gnu_cxx::__normal_iterator.44"* byval align 4 %__it) nounwind align 2 {
entry:
  %0 = bitcast %"class.__gnu_cxx::__normal_iterator.44"* %agg.result to i8*
  %1 = bitcast %"class.__gnu_cxx::__normal_iterator.44"* %__it to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 4, i32 4, i1 false)
  ret void
}

define linkonce_odr %"class.boost::detail::stored_edge_iter"* @_ZSt13__copy_move_aILb0EPKN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EEPSB_ET1_T0_SG_SF_(%"class.boost::detail::stored_edge_iter"* %__first, %"class.boost::detail::stored_edge_iter"* %__last, %"class.boost::detail::stored_edge_iter"* %__result) inlinehint {
entry:
  %__first.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__last.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__result.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__simple = alloca i8, align 1
  store %"class.boost::detail::stored_edge_iter"* %__first, %"class.boost::detail::stored_edge_iter"** %__first.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %__last, %"class.boost::detail::stored_edge_iter"** %__last.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %__result, %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  store i8 0, i8* %__simple, align 1
  %0 = load %"class.boost::detail::stored_edge_iter"** %__first.addr, align 4
  %1 = load %"class.boost::detail::stored_edge_iter"** %__last.addr, align 4
  %2 = load %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  %call = call %"class.boost::detail::stored_edge_iter"* @_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPKN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS3_9list_edgeIjNS3_8propertyINS3_13edge_weight_tEiNS3_11no_propertyEEEEEESB_EEPSE_EET0_T_SJ_SI_(%"class.boost::detail::stored_edge_iter"* %0, %"class.boost::detail::stored_edge_iter"* %1, %"class.boost::detail::stored_edge_iter"* %2)
  ret %"class.boost::detail::stored_edge_iter"* %call
}

define linkonce_odr %"class.boost::detail::stored_edge_iter"* @_ZSt12__niter_baseIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS2_9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEESA_EESt6vectorISD_SaISD_EEEEENSt11_Niter_baseIT_E13iterator_typeESL_(%"class.__gnu_cxx::__normal_iterator.44"* byval align 4 %__it) inlinehint {
entry:
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator.44", align 4
  %0 = bitcast %"class.__gnu_cxx::__normal_iterator.44"* %agg.tmp to i8*
  %1 = bitcast %"class.__gnu_cxx::__normal_iterator.44"* %__it to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 4, i32 4, i1 false)
  %call = call %"class.boost::detail::stored_edge_iter"* @_ZNSt10_Iter_baseIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS2_9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEESA_EESt6vectorISD_SaISD_EEEELb1EE7_S_baseESJ_(%"class.__gnu_cxx::__normal_iterator.44"* byval align 4 %agg.tmp)
  ret %"class.boost::detail::stored_edge_iter"* %call
}

define linkonce_odr %"class.boost::detail::stored_edge_iter"* @_ZSt12__niter_baseIN9__gnu_cxx17__normal_iteratorIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS2_9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEESA_EESt6vectorISD_SaISD_EEEEENSt11_Niter_baseIT_E13iterator_typeESK_(%"class.__gnu_cxx::__normal_iterator.38"* byval align 4 %__it) inlinehint {
entry:
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator.38", align 4
  %0 = bitcast %"class.__gnu_cxx::__normal_iterator.38"* %agg.tmp to i8*
  %1 = bitcast %"class.__gnu_cxx::__normal_iterator.38"* %__it to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 4, i32 4, i1 false)
  %call = call %"class.boost::detail::stored_edge_iter"* @_ZNSt10_Iter_baseIN9__gnu_cxx17__normal_iteratorIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS2_9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEESA_EESt6vectorISD_SaISD_EEEELb1EE7_S_baseESI_(%"class.__gnu_cxx::__normal_iterator.38"* byval align 4 %agg.tmp)
  ret %"class.boost::detail::stored_edge_iter"* %call
}

define linkonce_odr %"class.boost::detail::stored_edge_iter"* @_ZNSt10_Iter_baseIN9__gnu_cxx17__normal_iteratorIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS2_9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEESA_EESt6vectorISD_SaISD_EEEELb1EE7_S_baseESI_(%"class.__gnu_cxx::__normal_iterator.38"* byval align 4 %__it) nounwind align 2 {
entry:
  %call = call %"class.boost::detail::stored_edge_iter"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EESt6vectorISC_SaISC_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.38"* %__it)
  %0 = load %"class.boost::detail::stored_edge_iter"** %call
  ret %"class.boost::detail::stored_edge_iter"* %0
}

define linkonce_odr %"class.boost::detail::stored_edge_iter"* @_ZNSt10_Iter_baseIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS2_9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEESA_EESt6vectorISD_SaISD_EEEELb1EE7_S_baseESJ_(%"class.__gnu_cxx::__normal_iterator.44"* byval align 4 %__it) align 2 {
entry:
  %call = call %"class.boost::detail::stored_edge_iter"** @_ZNK9__gnu_cxx17__normal_iteratorIPKN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EESt6vectorISC_SaISC_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.44"* %__it)
  %0 = load %"class.boost::detail::stored_edge_iter"** %call
  ret %"class.boost::detail::stored_edge_iter"* %0
}

define linkonce_odr %"class.boost::detail::stored_edge_iter"** @_ZNK9__gnu_cxx17__normal_iteratorIPKN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EESt6vectorISC_SaISC_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.44"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.44"*, align 4
  store %"class.__gnu_cxx::__normal_iterator.44"* %this, %"class.__gnu_cxx::__normal_iterator.44"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.44"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.44"* %this1, i32 0, i32 0
  ret %"class.boost::detail::stored_edge_iter"** %_M_current
}

define linkonce_odr %"class.boost::detail::stored_edge_iter"* @_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPKN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS3_9list_edgeIjNS3_8propertyINS3_13edge_weight_tEiNS3_11no_propertyEEEEEESB_EEPSE_EET0_T_SJ_SI_(%"class.boost::detail::stored_edge_iter"* %__first, %"class.boost::detail::stored_edge_iter"* %__last, %"class.boost::detail::stored_edge_iter"* %__result) align 2 {
entry:
  %__first.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__last.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__result.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__n = alloca i32, align 4
  store %"class.boost::detail::stored_edge_iter"* %__first, %"class.boost::detail::stored_edge_iter"** %__first.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %__last, %"class.boost::detail::stored_edge_iter"** %__last.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %__result, %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  %0 = load %"class.boost::detail::stored_edge_iter"** %__last.addr, align 4
  %1 = load %"class.boost::detail::stored_edge_iter"** %__first.addr, align 4
  %sub.ptr.lhs.cast = ptrtoint %"class.boost::detail::stored_edge_iter"* %0 to i32
  %sub.ptr.rhs.cast = ptrtoint %"class.boost::detail::stored_edge_iter"* %1 to i32
  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  %sub.ptr.div = sdiv exact i32 %sub.ptr.sub, 8
  store i32 %sub.ptr.div, i32* %__n, align 4
  br label %for.cond

for.cond:                                         ; preds = %for.inc, %entry
  %2 = load i32* %__n, align 4
  %cmp = icmp sgt i32 %2, 0
  br i1 %cmp, label %for.body, label %for.end

for.body:                                         ; preds = %for.cond
  %3 = load %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  %4 = load %"class.boost::detail::stored_edge_iter"** %__first.addr, align 4
  %call = call %"class.boost::detail::stored_edge_iter"* @_ZN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEES7_EaSERKSA_(%"class.boost::detail::stored_edge_iter"* %3, %"class.boost::detail::stored_edge_iter"* %4)
  %5 = load %"class.boost::detail::stored_edge_iter"** %__first.addr, align 4
  %incdec.ptr = getelementptr inbounds %"class.boost::detail::stored_edge_iter"* %5, i32 1
  store %"class.boost::detail::stored_edge_iter"* %incdec.ptr, %"class.boost::detail::stored_edge_iter"** %__first.addr, align 4
  %6 = load %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  %incdec.ptr1 = getelementptr inbounds %"class.boost::detail::stored_edge_iter"* %6, i32 1
  store %"class.boost::detail::stored_edge_iter"* %incdec.ptr1, %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  br label %for.inc

for.inc:                                          ; preds = %for.body
  %7 = load i32* %__n, align 4
  %dec = add nsw i32 %7, -1
  store i32 %dec, i32* %__n, align 4
  br label %for.cond

for.end:                                          ; preds = %for.cond
  %8 = load %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  ret %"class.boost::detail::stored_edge_iter"* %8
}

define linkonce_odr void @_ZSt8_DestroyIN9__gnu_cxx17__normal_iteratorIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS2_9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEESA_EESt6vectorISD_SaISD_EEEEEvT_SJ_(%"class.__gnu_cxx::__normal_iterator.38"* byval align 4 %__first, %"class.__gnu_cxx::__normal_iterator.38"* byval align 4 %__last) inlinehint {
entry:
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator.38", align 4
  %agg.tmp1 = alloca %"class.__gnu_cxx::__normal_iterator.38", align 4
  %0 = bitcast %"class.__gnu_cxx::__normal_iterator.38"* %agg.tmp to i8*
  %1 = bitcast %"class.__gnu_cxx::__normal_iterator.38"* %__first to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 4, i32 4, i1 false)
  %2 = bitcast %"class.__gnu_cxx::__normal_iterator.38"* %agg.tmp1 to i8*
  %3 = bitcast %"class.__gnu_cxx::__normal_iterator.38"* %__last to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %2, i8* %3, i32 4, i32 4, i1 false)
  call void @_ZNSt12_Destroy_auxILb1EE9__destroyIN9__gnu_cxx17__normal_iteratorIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS4_9list_edgeIjNS4_8propertyINS4_13edge_weight_tEiNS4_11no_propertyEEEEEESC_EESt6vectorISF_SaISF_EEEEEEvT_SL_(%"class.__gnu_cxx::__normal_iterator.38"* byval align 4 %agg.tmp, %"class.__gnu_cxx::__normal_iterator.38"* byval align 4 %agg.tmp1)
  ret void
}

define linkonce_odr void @_ZNSt12_Destroy_auxILb1EE9__destroyIN9__gnu_cxx17__normal_iteratorIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS4_9list_edgeIjNS4_8propertyINS4_13edge_weight_tEiNS4_11no_propertyEEEEEESC_EESt6vectorISF_SaISF_EEEEEEvT_SL_(%"class.__gnu_cxx::__normal_iterator.38"* byval align 4, %"class.__gnu_cxx::__normal_iterator.38"* byval align 4) nounwind align 2 {
entry:
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx17__normal_iteratorIPKN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EESt6vectorISC_SaISC_EEEC1ERKSE_(%"class.__gnu_cxx::__normal_iterator.44"* %this, %"class.boost::detail::stored_edge_iter"** %__i) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.44"*, align 4
  %__i.addr = alloca %"class.boost::detail::stored_edge_iter"**, align 4
  store %"class.__gnu_cxx::__normal_iterator.44"* %this, %"class.__gnu_cxx::__normal_iterator.44"** %this.addr, align 4
  store %"class.boost::detail::stored_edge_iter"** %__i, %"class.boost::detail::stored_edge_iter"*** %__i.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.44"** %this.addr
  %0 = load %"class.boost::detail::stored_edge_iter"*** %__i.addr
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EESt6vectorISC_SaISC_EEEC2ERKSE_(%"class.__gnu_cxx::__normal_iterator.44"* %this1, %"class.boost::detail::stored_edge_iter"** %0)
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx17__normal_iteratorIPKN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EESt6vectorISC_SaISC_EEEC2ERKSE_(%"class.__gnu_cxx::__normal_iterator.44"* %this, %"class.boost::detail::stored_edge_iter"** %__i) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.44"*, align 4
  %__i.addr = alloca %"class.boost::detail::stored_edge_iter"**, align 4
  store %"class.__gnu_cxx::__normal_iterator.44"* %this, %"class.__gnu_cxx::__normal_iterator.44"** %this.addr, align 4
  store %"class.boost::detail::stored_edge_iter"** %__i, %"class.boost::detail::stored_edge_iter"*** %__i.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.44"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.44"* %this1, i32 0, i32 0
  %0 = load %"class.boost::detail::stored_edge_iter"*** %__i.addr, align 4
  %1 = load %"class.boost::detail::stored_edge_iter"** %0, align 4
  store %"class.boost::detail::stored_edge_iter"* %1, %"class.boost::detail::stored_edge_iter"** %_M_current, align 4
  ret void
}

define linkonce_odr %"class.boost::detail::stored_edge_iter"* @_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS2_9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEESA_EESt6vectorISD_SaISD_EEEEPSD_SD_ET0_T_SM_SL_RSaIT1_E(%"class.__gnu_cxx::__normal_iterator.44"* byval align 4 %__first, %"class.__gnu_cxx::__normal_iterator.44"* byval align 4 %__last, %"class.boost::detail::stored_edge_iter"* %__result, %"class.std::allocator.13"*) inlinehint {
entry:
  %__result.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %.addr = alloca %"class.std::allocator.13"*, align 4
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator.44", align 4
  %agg.tmp1 = alloca %"class.__gnu_cxx::__normal_iterator.44", align 4
  store %"class.boost::detail::stored_edge_iter"* %__result, %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  store %"class.std::allocator.13"* %0, %"class.std::allocator.13"** %.addr, align 4
  %1 = bitcast %"class.__gnu_cxx::__normal_iterator.44"* %agg.tmp to i8*
  %2 = bitcast %"class.__gnu_cxx::__normal_iterator.44"* %__first to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1, i8* %2, i32 4, i32 4, i1 false)
  %3 = bitcast %"class.__gnu_cxx::__normal_iterator.44"* %agg.tmp1 to i8*
  %4 = bitcast %"class.__gnu_cxx::__normal_iterator.44"* %__last to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* %4, i32 4, i32 4, i1 false)
  %5 = load %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  %call = call %"class.boost::detail::stored_edge_iter"* @_ZSt18uninitialized_copyIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS2_9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEESA_EESt6vectorISD_SaISD_EEEEPSD_ET0_T_SM_SL_(%"class.__gnu_cxx::__normal_iterator.44"* byval align 4 %agg.tmp, %"class.__gnu_cxx::__normal_iterator.44"* byval align 4 %agg.tmp1, %"class.boost::detail::stored_edge_iter"* %5)
  ret %"class.boost::detail::stored_edge_iter"* %call
}

define linkonce_odr %"class.boost::detail::stored_edge_iter"* @_ZSt18uninitialized_copyIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS2_9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEESA_EESt6vectorISD_SaISD_EEEEPSD_ET0_T_SM_SL_(%"class.__gnu_cxx::__normal_iterator.44"* byval align 4 %__first, %"class.__gnu_cxx::__normal_iterator.44"* byval align 4 %__last, %"class.boost::detail::stored_edge_iter"* %__result) inlinehint {
entry:
  %__result.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator.44", align 4
  %agg.tmp1 = alloca %"class.__gnu_cxx::__normal_iterator.44", align 4
  store %"class.boost::detail::stored_edge_iter"* %__result, %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  %0 = bitcast %"class.__gnu_cxx::__normal_iterator.44"* %agg.tmp to i8*
  %1 = bitcast %"class.__gnu_cxx::__normal_iterator.44"* %__first to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 4, i32 4, i1 false)
  %2 = bitcast %"class.__gnu_cxx::__normal_iterator.44"* %agg.tmp1 to i8*
  %3 = bitcast %"class.__gnu_cxx::__normal_iterator.44"* %__last to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %2, i8* %3, i32 4, i32 4, i1 false)
  %4 = load %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  %call = call %"class.boost::detail::stored_edge_iter"* @_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS4_9list_edgeIjNS4_8propertyINS4_13edge_weight_tEiNS4_11no_propertyEEEEEESC_EESt6vectorISF_SaISF_EEEEPSF_EET0_T_SO_SN_(%"class.__gnu_cxx::__normal_iterator.44"* byval align 4 %agg.tmp, %"class.__gnu_cxx::__normal_iterator.44"* byval align 4 %agg.tmp1, %"class.boost::detail::stored_edge_iter"* %4)
  ret %"class.boost::detail::stored_edge_iter"* %call
}

define linkonce_odr %"class.boost::detail::stored_edge_iter"* @_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS4_9list_edgeIjNS4_8propertyINS4_13edge_weight_tEiNS4_11no_propertyEEEEEESC_EESt6vectorISF_SaISF_EEEEPSF_EET0_T_SO_SN_(%"class.__gnu_cxx::__normal_iterator.44"* byval align 4 %__first, %"class.__gnu_cxx::__normal_iterator.44"* byval align 4 %__last, %"class.boost::detail::stored_edge_iter"* %__result) align 2 {
entry:
  %__result.addr = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %__cur = alloca %"class.boost::detail::stored_edge_iter"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.boost::detail::stored_edge_iter"* %__result, %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  %0 = load %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  store %"class.boost::detail::stored_edge_iter"* %0, %"class.boost::detail::stored_edge_iter"** %__cur, align 4
  br label %for.cond

for.cond:                                         ; preds = %invoke.cont6, %entry
  %call = invoke zeroext i1 @_ZN9__gnu_cxxneIPKN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EESt6vectorISC_SaISC_EEEEbRKNS_17__normal_iteratorIT_T0_EESN_(%"class.__gnu_cxx::__normal_iterator.44"* %__first, %"class.__gnu_cxx::__normal_iterator.44"* %__last)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %for.cond
  br i1 %call, label %for.body, label %for.end

for.body:                                         ; preds = %invoke.cont
  %1 = load %"class.boost::detail::stored_edge_iter"** %__cur, align 4
  %call2 = invoke %"class.boost::detail::stored_edge_iter"* @_ZSt11__addressofIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EEEPT_RSC_(%"class.boost::detail::stored_edge_iter"* %1)
          to label %invoke.cont1 unwind label %lpad

invoke.cont1:                                     ; preds = %for.body
  %call4 = invoke %"class.boost::detail::stored_edge_iter"* @_ZNK9__gnu_cxx17__normal_iteratorIPKN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EESt6vectorISC_SaISC_EEEdeEv(%"class.__gnu_cxx::__normal_iterator.44"* %__first)
          to label %invoke.cont3 unwind label %lpad

invoke.cont3:                                     ; preds = %invoke.cont1
  invoke void @_ZSt10_ConstructIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESB_EvPT_RKT0_(%"class.boost::detail::stored_edge_iter"* %call2, %"class.boost::detail::stored_edge_iter"* %call4)
          to label %invoke.cont5 unwind label %lpad

invoke.cont5:                                     ; preds = %invoke.cont3
  br label %for.inc

for.inc:                                          ; preds = %invoke.cont5
  %call7 = invoke %"class.__gnu_cxx::__normal_iterator.44"* @_ZN9__gnu_cxx17__normal_iteratorIPKN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EESt6vectorISC_SaISC_EEEppEv(%"class.__gnu_cxx::__normal_iterator.44"* %__first)
          to label %invoke.cont6 unwind label %lpad

invoke.cont6:                                     ; preds = %for.inc
  %2 = load %"class.boost::detail::stored_edge_iter"** %__cur, align 4
  %incdec.ptr = getelementptr inbounds %"class.boost::detail::stored_edge_iter"* %2, i32 1
  store %"class.boost::detail::stored_edge_iter"* %incdec.ptr, %"class.boost::detail::stored_edge_iter"** %__cur, align 4
  br label %for.cond

lpad:                                             ; preds = %for.inc, %invoke.cont3, %invoke.cont1, %for.body, %for.cond
  %3 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  %4 = extractvalue { i8*, i32 } %3, 0
  store i8* %4, i8** %exn.slot
  %5 = extractvalue { i8*, i32 } %3, 1
  store i32 %5, i32* %ehselector.slot
  br label %catch

catch:                                            ; preds = %lpad
  %exn = load i8** %exn.slot
  %6 = call i8* @__cxa_begin_catch(i8* %exn) nounwind
  %7 = load %"class.boost::detail::stored_edge_iter"** %__result.addr, align 4
  %8 = load %"class.boost::detail::stored_edge_iter"** %__cur, align 4
  invoke void @_ZSt8_DestroyIPN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EEEvT_SD_(%"class.boost::detail::stored_edge_iter"* %7, %"class.boost::detail::stored_edge_iter"* %8)
          to label %invoke.cont9 unwind label %lpad8

invoke.cont9:                                     ; preds = %catch
  invoke void @__cxa_rethrow() noreturn
          to label %unreachable unwind label %lpad8

for.end:                                          ; preds = %invoke.cont
  %9 = load %"class.boost::detail::stored_edge_iter"** %__cur, align 4
  ret %"class.boost::detail::stored_edge_iter"* %9

lpad8:                                            ; preds = %invoke.cont9, %catch
  %10 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %11 = extractvalue { i8*, i32 } %10, 0
  store i8* %11, i8** %exn.slot
  %12 = extractvalue { i8*, i32 } %10, 1
  store i32 %12, i32* %ehselector.slot
  invoke void @__cxa_end_catch()
          to label %invoke.cont10 unwind label %terminate.lpad

invoke.cont10:                                    ; preds = %lpad8
  br label %eh.resume

try.cont:                                         ; No predecessors!
  call void @llvm.trap()
  unreachable

eh.resume:                                        ; preds = %invoke.cont10
  %exn11 = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn11, 0
  %lpad.val12 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val12

terminate.lpad:                                   ; preds = %lpad8
  %13 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable

unreachable:                                      ; preds = %invoke.cont9
  unreachable
}

define linkonce_odr zeroext i1 @_ZN9__gnu_cxxneIPKN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EESt6vectorISC_SaISC_EEEEbRKNS_17__normal_iteratorIT_T0_EESN_(%"class.__gnu_cxx::__normal_iterator.44"* %__lhs, %"class.__gnu_cxx::__normal_iterator.44"* %__rhs) nounwind inlinehint {
entry:
  %__lhs.addr = alloca %"class.__gnu_cxx::__normal_iterator.44"*, align 4
  %__rhs.addr = alloca %"class.__gnu_cxx::__normal_iterator.44"*, align 4
  store %"class.__gnu_cxx::__normal_iterator.44"* %__lhs, %"class.__gnu_cxx::__normal_iterator.44"** %__lhs.addr, align 4
  store %"class.__gnu_cxx::__normal_iterator.44"* %__rhs, %"class.__gnu_cxx::__normal_iterator.44"** %__rhs.addr, align 4
  %0 = load %"class.__gnu_cxx::__normal_iterator.44"** %__lhs.addr, align 4
  %call = call %"class.boost::detail::stored_edge_iter"** @_ZNK9__gnu_cxx17__normal_iteratorIPKN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EESt6vectorISC_SaISC_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.44"* %0)
  %1 = load %"class.boost::detail::stored_edge_iter"** %call
  %2 = load %"class.__gnu_cxx::__normal_iterator.44"** %__rhs.addr, align 4
  %call1 = call %"class.boost::detail::stored_edge_iter"** @_ZNK9__gnu_cxx17__normal_iteratorIPKN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EESt6vectorISC_SaISC_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.44"* %2)
  %3 = load %"class.boost::detail::stored_edge_iter"** %call1
  %cmp = icmp ne %"class.boost::detail::stored_edge_iter"* %1, %3
  ret i1 %cmp
}

define linkonce_odr %"class.boost::detail::stored_edge_iter"* @_ZNK9__gnu_cxx17__normal_iteratorIPKN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EESt6vectorISC_SaISC_EEEdeEv(%"class.__gnu_cxx::__normal_iterator.44"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.44"*, align 4
  store %"class.__gnu_cxx::__normal_iterator.44"* %this, %"class.__gnu_cxx::__normal_iterator.44"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.44"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.44"* %this1, i32 0, i32 0
  %0 = load %"class.boost::detail::stored_edge_iter"** %_M_current, align 4
  ret %"class.boost::detail::stored_edge_iter"* %0
}

define linkonce_odr %"class.__gnu_cxx::__normal_iterator.44"* @_ZN9__gnu_cxx17__normal_iteratorIPKN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EESt6vectorISC_SaISC_EEEppEv(%"class.__gnu_cxx::__normal_iterator.44"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.44"*, align 4
  store %"class.__gnu_cxx::__normal_iterator.44"* %this, %"class.__gnu_cxx::__normal_iterator.44"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.44"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.44"* %this1, i32 0, i32 0
  %0 = load %"class.boost::detail::stored_edge_iter"** %_M_current, align 4
  %incdec.ptr = getelementptr inbounds %"class.boost::detail::stored_edge_iter"* %0, i32 1
  store %"class.boost::detail::stored_edge_iter"* %incdec.ptr, %"class.boost::detail::stored_edge_iter"** %_M_current, align 4
  ret %"class.__gnu_cxx::__normal_iterator.44"* %this1
}

define linkonce_odr %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt23__copy_move_backward_a2ILb0EPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESF_ET1_T0_SH_SG_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__result) inlinehint {
entry:
  %__first.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__last.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__result.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__result, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__result.addr, align 4
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %call = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt12__niter_baseIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexEENSt11_Niter_baseIT_E13iterator_typeESH_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %0)
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  %call1 = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt12__niter_baseIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexEENSt11_Niter_baseIT_E13iterator_typeESH_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %1)
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__result.addr, align 4
  %call2 = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt12__niter_baseIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexEENSt11_Niter_baseIT_E13iterator_typeESH_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %2)
  %call3 = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt22__copy_move_backward_aILb0EPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESF_ET1_T0_SH_SG_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %call, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %call1, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %call2)
  ret %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %call3
}

define linkonce_odr %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt12__miter_baseIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexEENSt11_Miter_baseIT_E13iterator_typeESH_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__it) nounwind inlinehint {
entry:
  %__it.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__it, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__it.addr, align 4
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__it.addr, align 4
  %call = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZNSt10_Iter_baseIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexELb0EE7_S_baseESF_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %0)
  ret %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %call
}

define linkonce_odr %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt22__copy_move_backward_aILb0EPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESF_ET1_T0_SH_SG_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__result) inlinehint {
entry:
  %__first.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__last.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__result.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__simple = alloca i8, align 1
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__result, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__result.addr, align 4
  store i8 0, i8* %__simple, align 1
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__result.addr, align 4
  %call = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZNSt20__copy_move_backwardILb0ELb0ESt26random_access_iterator_tagE13__copy_move_bIPN5boost6detail12adj_list_genINS3_14adjacency_listINS3_4vecSES7_NS3_11undirectedSENS3_11no_propertyENS3_8propertyINS3_13edge_weight_tEiS9_EES9_NS3_5listSEEES7_S7_S8_S9_SC_S9_SD_E6config13stored_vertexESI_EET0_T_SK_SJ_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %0, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %1, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %2)
  ret %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %call
}

define linkonce_odr %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZNSt20__copy_move_backwardILb0ELb0ESt26random_access_iterator_tagE13__copy_move_bIPN5boost6detail12adj_list_genINS3_14adjacency_listINS3_4vecSES7_NS3_11undirectedSENS3_11no_propertyENS3_8propertyINS3_13edge_weight_tEiS9_EES9_NS3_5listSEEES7_S7_S8_S9_SC_S9_SD_E6config13stored_vertexESI_EET0_T_SK_SJ_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__result) align 2 {
entry:
  %__first.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__last.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__result.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__n = alloca i32, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__result, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__result.addr, align 4
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %sub.ptr.lhs.cast = ptrtoint %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %0 to i32
  %sub.ptr.rhs.cast = ptrtoint %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %1 to i32
  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  %sub.ptr.div = sdiv exact i32 %sub.ptr.sub, 16
  store i32 %sub.ptr.div, i32* %__n, align 4
  br label %for.cond

for.cond:                                         ; preds = %for.inc, %entry
  %2 = load i32* %__n, align 4
  %cmp = icmp sgt i32 %2, 0
  br i1 %cmp, label %for.body, label %for.end

for.body:                                         ; preds = %for.cond
  %3 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__result.addr, align 4
  %incdec.ptr = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %3, i32 -1
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %incdec.ptr, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__result.addr, align 4
  %4 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  %incdec.ptr1 = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %4, i32 -1
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %incdec.ptr1, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  %call = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config13stored_vertexaSERKSD_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %incdec.ptr, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %incdec.ptr1)
  br label %for.inc

for.inc:                                          ; preds = %for.body
  %5 = load i32* %__n, align 4
  %dec = add nsw i32 %5, -1
  store i32 %dec, i32* %__n, align 4
  br label %for.cond

for.end:                                          ; preds = %for.cond
  %6 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__result.addr, align 4
  ret %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %6
}

define linkonce_odr %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt22__uninitialized_copy_aIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESF_SE_ET0_T_SH_SG_RSaIT1_E(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__result, %"class.std::allocator.0"*) inlinehint {
entry:
  %__first.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__last.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__result.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %.addr = alloca %"class.std::allocator.0"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__result, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__result.addr, align 4
  store %"class.std::allocator.0"* %0, %"class.std::allocator.0"** %.addr, align 4
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  %3 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__result.addr, align 4
  %call = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt18uninitialized_copyIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESF_ET0_T_SH_SG_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %1, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %2, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %3)
  ret %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %call
}

define linkonce_odr %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt18uninitialized_copyIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESF_ET0_T_SH_SG_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__result) inlinehint {
entry:
  %__first.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__last.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__result.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__result, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__result.addr, align 4
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__result.addr, align 4
  %call = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIPN5boost6detail12adj_list_genINS2_14adjacency_listINS2_4vecSES6_NS2_11undirectedSENS2_11no_propertyENS2_8propertyINS2_13edge_weight_tEiS8_EES8_NS2_5listSEEES6_S6_S7_S8_SB_S8_SC_E6config13stored_vertexESH_EET0_T_SJ_SI_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %0, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %1, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %2)
  ret %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %call
}

define linkonce_odr %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIPN5boost6detail12adj_list_genINS2_14adjacency_listINS2_4vecSES6_NS2_11undirectedSENS2_11no_propertyENS2_8propertyINS2_13edge_weight_tEiS8_EES8_NS2_5listSEEES6_S6_S7_S8_SB_S8_SC_E6config13stored_vertexESH_EET0_T_SJ_SI_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__result) align 2 {
entry:
  %__first.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__last.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__result.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__cur = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__result, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__result.addr, align 4
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__result.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %0, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__cur, align 4
  br label %for.cond

for.cond:                                         ; preds = %for.inc, %entry
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  %cmp = icmp ne %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %1, %2
  br i1 %cmp, label %for.body, label %for.end

for.body:                                         ; preds = %for.cond
  %3 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__cur, align 4
  %call = invoke %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt11__addressofIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexEEPT_RSF_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %3)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %for.body
  %4 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  invoke void @_ZSt10_ConstructIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESE_EvPT_RKT0_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %call, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %4)
          to label %invoke.cont1 unwind label %lpad

invoke.cont1:                                     ; preds = %invoke.cont
  br label %for.inc

for.inc:                                          ; preds = %invoke.cont1
  %5 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %incdec.ptr = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %5, i32 1
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %incdec.ptr, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %6 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__cur, align 4
  %incdec.ptr2 = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %6, i32 1
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %incdec.ptr2, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__cur, align 4
  br label %for.cond

lpad:                                             ; preds = %invoke.cont, %for.body
  %7 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  %8 = extractvalue { i8*, i32 } %7, 0
  store i8* %8, i8** %exn.slot
  %9 = extractvalue { i8*, i32 } %7, 1
  store i32 %9, i32* %ehselector.slot
  br label %catch

catch:                                            ; preds = %lpad
  %exn = load i8** %exn.slot
  %10 = call i8* @__cxa_begin_catch(i8* %exn) nounwind
  %11 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__result.addr, align 4
  %12 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__cur, align 4
  invoke void @_ZSt8_DestroyIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexEEvT_SG_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %11, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %12)
          to label %invoke.cont4 unwind label %lpad3

invoke.cont4:                                     ; preds = %catch
  invoke void @__cxa_rethrow() noreturn
          to label %unreachable unwind label %lpad3

for.end:                                          ; preds = %for.cond
  %13 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__cur, align 4
  ret %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %13

lpad3:                                            ; preds = %invoke.cont4, %catch
  %14 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %15 = extractvalue { i8*, i32 } %14, 0
  store i8* %15, i8** %exn.slot
  %16 = extractvalue { i8*, i32 } %14, 1
  store i32 %16, i32* %ehselector.slot
  invoke void @__cxa_end_catch()
          to label %invoke.cont5 unwind label %terminate.lpad

invoke.cont5:                                     ; preds = %lpad3
  br label %eh.resume

try.cont:                                         ; No predecessors!
  call void @llvm.trap()
  unreachable

eh.resume:                                        ; preds = %invoke.cont5
  %exn6 = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn6, 0
  %lpad.val7 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val7

terminate.lpad:                                   ; preds = %lpad3
  %17 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable

unreachable:                                      ; preds = %invoke.cont4
  unreachable
}

define linkonce_odr void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config13stored_vertexC2ERKSD_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %this, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %this, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %this.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %0, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %.addr, align 4
  %this1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %this.addr
  %1 = bitcast %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %this1 to %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"*
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %.addr, align 4
  %3 = bitcast %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %2 to %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"*
  call void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config18rand_stored_vertexC2ERKSD_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"* %1, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"* %3)
  ret void
}

define linkonce_odr void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config18rand_stored_vertexC2ERKSD_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"* %this, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"*) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"*, align 4
  %.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"* %this, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"** %this.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"* %0, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"** %.addr, align 4
  %this1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"** %this.addr
  %m_out_edges = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"* %this1, i32 0, i32 0
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"** %.addr, align 4
  %m_out_edges2 = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"* %1, i32 0, i32 0
  call void @_ZNSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EEC1ERKSD_(%"class.std::vector.11"* %m_out_edges, %"class.std::vector.11"* %m_out_edges2)
  %m_property = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"* %this1, i32 0, i32 1
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"** %.addr, align 4
  %m_property3 = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"* %2, i32 0, i32 1
  ret void
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EEC1ERKSD_(%"class.std::vector.11"* %this, %"class.std::vector.11"* %__x) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::vector.11"*, align 4
  %__x.addr = alloca %"class.std::vector.11"*, align 4
  store %"class.std::vector.11"* %this, %"class.std::vector.11"** %this.addr, align 4
  store %"class.std::vector.11"* %__x, %"class.std::vector.11"** %__x.addr, align 4
  %this1 = load %"class.std::vector.11"** %this.addr
  %0 = load %"class.std::vector.11"** %__x.addr
  call void @_ZNSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EEC2ERKSD_(%"class.std::vector.11"* %this1, %"class.std::vector.11"* %0)
  ret void
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EEC2ERKSD_(%"class.std::vector.11"* %this, %"class.std::vector.11"* %__x) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::vector.11"*, align 4
  %__x.addr = alloca %"class.std::vector.11"*, align 4
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator.44", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %agg.tmp3 = alloca %"class.__gnu_cxx::__normal_iterator.44", align 4
  store %"class.std::vector.11"* %this, %"class.std::vector.11"** %this.addr, align 4
  store %"class.std::vector.11"* %__x, %"class.std::vector.11"** %__x.addr, align 4
  %this1 = load %"class.std::vector.11"** %this.addr
  %0 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %1 = load %"class.std::vector.11"** %__x.addr, align 4
  %call = call i32 @_ZNKSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE4sizeEv(%"class.std::vector.11"* %1)
  %2 = load %"class.std::vector.11"** %__x.addr, align 4
  %3 = bitcast %"class.std::vector.11"* %2 to %"struct.std::_Vector_base.12"*
  %call2 = call %"class.std::allocator.13"* @_ZNKSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.12"* %3)
  call void @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EEC2EjRKSC_(%"struct.std::_Vector_base.12"* %0, i32 %call, %"class.std::allocator.13"* %call2)
  %4 = load %"class.std::vector.11"** %__x.addr, align 4
  invoke void @_ZNKSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE5beginEv(%"class.__gnu_cxx::__normal_iterator.44"* sret %agg.tmp, %"class.std::vector.11"* %4)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %5 = load %"class.std::vector.11"** %__x.addr, align 4
  invoke void @_ZNKSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE3endEv(%"class.__gnu_cxx::__normal_iterator.44"* sret %agg.tmp3, %"class.std::vector.11"* %5)
          to label %invoke.cont4 unwind label %lpad

invoke.cont4:                                     ; preds = %invoke.cont
  %6 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.12"* %6, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl, i32 0, i32 0
  %7 = load %"class.boost::detail::stored_edge_iter"** %_M_start, align 4
  %8 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %call6 = invoke %"class.std::allocator.13"* @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.12"* %8)
          to label %invoke.cont5 unwind label %lpad

invoke.cont5:                                     ; preds = %invoke.cont4
  %call8 = invoke %"class.boost::detail::stored_edge_iter"* @_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS2_9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEESA_EESt6vectorISD_SaISD_EEEEPSD_SD_ET0_T_SM_SL_RSaIT1_E(%"class.__gnu_cxx::__normal_iterator.44"* byval align 4 %agg.tmp, %"class.__gnu_cxx::__normal_iterator.44"* byval align 4 %agg.tmp3, %"class.boost::detail::stored_edge_iter"* %7, %"class.std::allocator.13"* %call6)
          to label %invoke.cont7 unwind label %lpad

invoke.cont7:                                     ; preds = %invoke.cont5
  %9 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl9 = getelementptr inbounds %"struct.std::_Vector_base.12"* %9, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl9, i32 0, i32 1
  store %"class.boost::detail::stored_edge_iter"* %call8, %"class.boost::detail::stored_edge_iter"** %_M_finish, align 4
  ret void

lpad:                                             ; preds = %invoke.cont5, %invoke.cont4, %invoke.cont, %entry
  %10 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %11 = extractvalue { i8*, i32 } %10, 0
  store i8* %11, i8** %exn.slot
  %12 = extractvalue { i8*, i32 } %10, 1
  store i32 %12, i32* %ehselector.slot
  %13 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  invoke void @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EED2Ev(%"struct.std::_Vector_base.12"* %13)
          to label %invoke.cont10 unwind label %terminate.lpad

invoke.cont10:                                    ; preds = %lpad
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont10
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val11 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val11

terminate.lpad:                                   ; preds = %lpad
  %14 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EEC2EjRKSC_(%"struct.std::_Vector_base.12"* %this, i32 %__n, %"class.std::allocator.13"* %__a) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base.12"*, align 4
  %__n.addr = alloca i32, align 4
  %__a.addr = alloca %"class.std::allocator.13"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"struct.std::_Vector_base.12"* %this, %"struct.std::_Vector_base.12"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store %"class.std::allocator.13"* %__a, %"class.std::allocator.13"** %__a.addr, align 4
  %this1 = load %"struct.std::_Vector_base.12"** %this.addr
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.12"* %this1, i32 0, i32 0
  %0 = load %"class.std::allocator.13"** %__a.addr, align 4
  call void @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE12_Vector_implC1ERKSC_(%"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl, %"class.std::allocator.13"* %0)
  %1 = load i32* %__n.addr, align 4
  %call = invoke %"class.boost::detail::stored_edge_iter"* @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE11_M_allocateEj(%"struct.std::_Vector_base.12"* %this1, i32 %1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base.12"* %this1, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl2, i32 0, i32 0
  store %"class.boost::detail::stored_edge_iter"* %call, %"class.boost::detail::stored_edge_iter"** %_M_start, align 4
  %_M_impl3 = getelementptr inbounds %"struct.std::_Vector_base.12"* %this1, i32 0, i32 0
  %_M_start4 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl3, i32 0, i32 0
  %2 = load %"class.boost::detail::stored_edge_iter"** %_M_start4, align 4
  %_M_impl5 = getelementptr inbounds %"struct.std::_Vector_base.12"* %this1, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl5, i32 0, i32 1
  store %"class.boost::detail::stored_edge_iter"* %2, %"class.boost::detail::stored_edge_iter"** %_M_finish, align 4
  %_M_impl6 = getelementptr inbounds %"struct.std::_Vector_base.12"* %this1, i32 0, i32 0
  %_M_start7 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl6, i32 0, i32 0
  %3 = load %"class.boost::detail::stored_edge_iter"** %_M_start7, align 4
  %4 = load i32* %__n.addr, align 4
  %add.ptr = getelementptr inbounds %"class.boost::detail::stored_edge_iter"* %3, i32 %4
  %_M_impl8 = getelementptr inbounds %"struct.std::_Vector_base.12"* %this1, i32 0, i32 0
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl8, i32 0, i32 2
  store %"class.boost::detail::stored_edge_iter"* %add.ptr, %"class.boost::detail::stored_edge_iter"** %_M_end_of_storage, align 4
  ret void

lpad:                                             ; preds = %entry
  %5 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %6 = extractvalue { i8*, i32 } %5, 0
  store i8* %6, i8** %exn.slot
  %7 = extractvalue { i8*, i32 } %5, 1
  store i32 %7, i32* %ehselector.slot
  call void @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE12_Vector_implD1Ev(%"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val9 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val9
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE12_Vector_implC1ERKSC_(%"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %this, %"class.std::allocator.13"* %__a) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"*, align 4
  %__a.addr = alloca %"class.std::allocator.13"*, align 4
  store %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %this, %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"** %this.addr, align 4
  store %"class.std::allocator.13"* %__a, %"class.std::allocator.13"** %__a.addr, align 4
  %this1 = load %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"** %this.addr
  %0 = load %"class.std::allocator.13"** %__a.addr
  call void @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE12_Vector_implC2ERKSC_(%"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %this1, %"class.std::allocator.13"* %0)
  ret void
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE12_Vector_implC2ERKSC_(%"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %this, %"class.std::allocator.13"* %__a) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"*, align 4
  %__a.addr = alloca %"class.std::allocator.13"*, align 4
  store %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %this, %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"** %this.addr, align 4
  store %"class.std::allocator.13"* %__a, %"class.std::allocator.13"** %__a.addr, align 4
  %this1 = load %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"** %this.addr
  %0 = bitcast %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %this1 to %"class.std::allocator.13"*
  %1 = load %"class.std::allocator.13"** %__a.addr, align 4
  call void @_ZNSaIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEES7_EEEC2ERKSB_(%"class.std::allocator.13"* %0, %"class.std::allocator.13"* %1) nounwind
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %this1, i32 0, i32 0
  store %"class.boost::detail::stored_edge_iter"* null, %"class.boost::detail::stored_edge_iter"** %_M_start, align 4
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %this1, i32 0, i32 1
  store %"class.boost::detail::stored_edge_iter"* null, %"class.boost::detail::stored_edge_iter"** %_M_finish, align 4
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %this1, i32 0, i32 2
  store %"class.boost::detail::stored_edge_iter"* null, %"class.boost::detail::stored_edge_iter"** %_M_end_of_storage, align 4
  ret void
}

define linkonce_odr void @_ZNSaIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEES7_EEEC2ERKSB_(%"class.std::allocator.13"* %this, %"class.std::allocator.13"* %__a) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator.13"*, align 4
  %__a.addr = alloca %"class.std::allocator.13"*, align 4
  store %"class.std::allocator.13"* %this, %"class.std::allocator.13"** %this.addr, align 4
  store %"class.std::allocator.13"* %__a, %"class.std::allocator.13"** %__a.addr, align 4
  %this1 = load %"class.std::allocator.13"** %this.addr
  %0 = bitcast %"class.std::allocator.13"* %this1 to %"class.__gnu_cxx::new_allocator.14"*
  %1 = load %"class.std::allocator.13"** %__a.addr, align 4
  %2 = bitcast %"class.std::allocator.13"* %1 to %"class.__gnu_cxx::new_allocator.14"*
  call void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EEEC2ERKSD_(%"class.__gnu_cxx::new_allocator.14"* %0, %"class.__gnu_cxx::new_allocator.14"* %2) nounwind
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EEEC2ERKSD_(%"class.__gnu_cxx::new_allocator.14"* %this, %"class.__gnu_cxx::new_allocator.14"*) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.14"*, align 4
  %.addr = alloca %"class.__gnu_cxx::new_allocator.14"*, align 4
  store %"class.__gnu_cxx::new_allocator.14"* %this, %"class.__gnu_cxx::new_allocator.14"** %this.addr, align 4
  store %"class.__gnu_cxx::new_allocator.14"* %0, %"class.__gnu_cxx::new_allocator.14"** %.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.14"** %this.addr
  ret void
}

define linkonce_odr void @_ZNSaIN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config13stored_vertexEEC2Ev(%"class.std::allocator.0"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator.0"*, align 4
  store %"class.std::allocator.0"* %this, %"class.std::allocator.0"** %this.addr, align 4
  %this1 = load %"class.std::allocator.0"** %this.addr
  %0 = bitcast %"class.std::allocator.0"* %this1 to %"class.__gnu_cxx::new_allocator.1"*
  call void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_11undirectedSENS1_11no_propertyENS1_8propertyINS1_13edge_weight_tEiS7_EES7_NS1_5listSEEES5_S5_S6_S7_SA_S7_SB_E6config13stored_vertexEEC2Ev(%"class.__gnu_cxx::new_allocator.1"* %0) nounwind
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_11undirectedSENS1_11no_propertyENS1_8propertyINS1_13edge_weight_tEiS7_EES7_NS1_5listSEEES5_S5_S6_S7_SA_S7_SB_E6config13stored_vertexEEC2Ev(%"class.__gnu_cxx::new_allocator.1"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.1"*, align 4
  store %"class.__gnu_cxx::new_allocator.1"* %this, %"class.__gnu_cxx::new_allocator.1"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.1"** %this.addr
  ret void
}

define linkonce_odr void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config13stored_vertexC2Ev(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %this, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %this.addr, align 4
  %this1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %this.addr
  %0 = bitcast %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %this1 to %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"*
  call void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config18rand_stored_vertexC2Ev(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config18rand_stored_vertexC2Ev(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"* %this, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"** %this.addr, align 4
  %this1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"** %this.addr
  %m_out_edges = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"* %this1, i32 0, i32 0
  call void @_ZNSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EEC1Ev(%"class.std::vector.11"* %m_out_edges)
  %m_property = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::rand_stored_vertex"* %this1, i32 0, i32 1
  ret void
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EEC1Ev(%"class.std::vector.11"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::vector.11"*, align 4
  store %"class.std::vector.11"* %this, %"class.std::vector.11"** %this.addr, align 4
  %this1 = load %"class.std::vector.11"** %this.addr
  call void @_ZNSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EEC2Ev(%"class.std::vector.11"* %this1)
  ret void
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EEC2Ev(%"class.std::vector.11"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::vector.11"*, align 4
  store %"class.std::vector.11"* %this, %"class.std::vector.11"** %this.addr, align 4
  %this1 = load %"class.std::vector.11"** %this.addr
  %0 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  call void @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EEC2Ev(%"struct.std::_Vector_base.12"* %0)
  ret void
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EEC2Ev(%"struct.std::_Vector_base.12"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base.12"*, align 4
  store %"struct.std::_Vector_base.12"* %this, %"struct.std::_Vector_base.12"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base.12"** %this.addr
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.12"* %this1, i32 0, i32 0
  call void @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE12_Vector_implC1Ev(%"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %_M_impl)
  ret void
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE12_Vector_implC1Ev(%"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"*, align 4
  store %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %this, %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"** %this.addr
  call void @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE12_Vector_implC2Ev(%"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %this1)
  ret void
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS0_9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEES8_EESaISB_EE12_Vector_implC2Ev(%"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"*, align 4
  store %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %this, %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"** %this.addr
  %0 = bitcast %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %this1 to %"class.std::allocator.13"*
  call void @_ZNSaIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEES7_EEEC2Ev(%"class.std::allocator.13"* %0) nounwind
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %this1, i32 0, i32 0
  store %"class.boost::detail::stored_edge_iter"* null, %"class.boost::detail::stored_edge_iter"** %_M_start, align 4
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %this1, i32 0, i32 1
  store %"class.boost::detail::stored_edge_iter"* null, %"class.boost::detail::stored_edge_iter"** %_M_finish, align 4
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::detail::stored_edge_iter<unsigned int, std::_List_iterator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > >, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_Vector_impl"* %this1, i32 0, i32 2
  store %"class.boost::detail::stored_edge_iter"* null, %"class.boost::detail::stored_edge_iter"** %_M_end_of_storage, align 4
  ret void
}

define linkonce_odr void @_ZNSaIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS_9list_edgeIjNS_8propertyINS_13edge_weight_tEiNS_11no_propertyEEEEEES7_EEEC2Ev(%"class.std::allocator.13"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator.13"*, align 4
  store %"class.std::allocator.13"* %this, %"class.std::allocator.13"** %this.addr, align 4
  %this1 = load %"class.std::allocator.13"** %this.addr
  %0 = bitcast %"class.std::allocator.13"* %this1 to %"class.__gnu_cxx::new_allocator.14"*
  call void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EEEC2Ev(%"class.__gnu_cxx::new_allocator.14"* %0) nounwind
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail16stored_edge_iterIjSt14_List_iteratorINS1_9list_edgeIjNS1_8propertyINS1_13edge_weight_tEiNS1_11no_propertyEEEEEES9_EEEC2Ev(%"class.__gnu_cxx::new_allocator.14"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.14"*, align 4
  store %"class.__gnu_cxx::new_allocator.14"* %this, %"class.__gnu_cxx::new_allocator.14"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.14"** %this.addr
  ret void
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EEC2EjRKSE_RKSF_(%"class.std::vector"* %this, i32 %__n, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__value, %"class.std::allocator.0"* %__a) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::vector"*, align 4
  %__n.addr = alloca i32, align 4
  %__value.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__a.addr = alloca %"class.std::allocator.0"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.std::vector"* %this, %"class.std::vector"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__value, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__value.addr, align 4
  store %"class.std::allocator.0"* %__a, %"class.std::allocator.0"** %__a.addr, align 4
  %this1 = load %"class.std::vector"** %this.addr
  %0 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %1 = load i32* %__n.addr, align 4
  %2 = load %"class.std::allocator.0"** %__a.addr, align 4
  call void @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EEC2EjRKSF_(%"struct.std::_Vector_base"* %0, i32 %1, %"class.std::allocator.0"* %2)
  %3 = load i32* %__n.addr, align 4
  %4 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__value.addr, align 4
  invoke void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE18_M_fill_initializeEjRKSE_(%"class.std::vector"* %this1, i32 %3, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %4)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  ret void

lpad:                                             ; preds = %entry
  %5 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %6 = extractvalue { i8*, i32 } %5, 0
  store i8* %6, i8** %exn.slot
  %7 = extractvalue { i8*, i32 } %5, 1
  store i32 %7, i32* %ehselector.slot
  %8 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  invoke void @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EED2Ev(%"struct.std::_Vector_base"* %8)
          to label %invoke.cont2 unwind label %terminate.lpad

invoke.cont2:                                     ; preds = %lpad
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont2
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val3 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val3

terminate.lpad:                                   ; preds = %lpad
  %9 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EEC2EjRKSF_(%"struct.std::_Vector_base"* %this, i32 %__n, %"class.std::allocator.0"* %__a) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base"*, align 4
  %__n.addr = alloca i32, align 4
  %__a.addr = alloca %"class.std::allocator.0"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"struct.std::_Vector_base"* %this, %"struct.std::_Vector_base"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store %"class.std::allocator.0"* %__a, %"class.std::allocator.0"** %__a.addr, align 4
  %this1 = load %"struct.std::_Vector_base"** %this.addr
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base"* %this1, i32 0, i32 0
  %0 = load %"class.std::allocator.0"** %__a.addr, align 4
  call void @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE12_Vector_implC1ERKSF_(%"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl, %"class.std::allocator.0"* %0)
  %1 = load i32* %__n.addr, align 4
  %call = invoke %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE11_M_allocateEj(%"struct.std::_Vector_base"* %this1, i32 %1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base"* %this1, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl2, i32 0, i32 0
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %call, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_start, align 4
  %_M_impl3 = getelementptr inbounds %"struct.std::_Vector_base"* %this1, i32 0, i32 0
  %_M_start4 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl3, i32 0, i32 0
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_start4, align 4
  %_M_impl5 = getelementptr inbounds %"struct.std::_Vector_base"* %this1, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl5, i32 0, i32 1
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %2, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish, align 4
  %_M_impl6 = getelementptr inbounds %"struct.std::_Vector_base"* %this1, i32 0, i32 0
  %_M_start7 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl6, i32 0, i32 0
  %3 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_start7, align 4
  %4 = load i32* %__n.addr, align 4
  %add.ptr = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %3, i32 %4
  %_M_impl8 = getelementptr inbounds %"struct.std::_Vector_base"* %this1, i32 0, i32 0
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl8, i32 0, i32 2
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %add.ptr, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_end_of_storage, align 4
  ret void

lpad:                                             ; preds = %entry
  %5 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %6 = extractvalue { i8*, i32 } %5, 0
  store i8* %6, i8** %exn.slot
  %7 = extractvalue { i8*, i32 } %5, 1
  store i32 %7, i32* %ehselector.slot
  call void @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE12_Vector_implD1Ev(%"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val9 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val9
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE18_M_fill_initializeEjRKSE_(%"class.std::vector"* %this, i32 %__n, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__value) align 2 {
entry:
  %this.addr = alloca %"class.std::vector"*, align 4
  %__n.addr = alloca i32, align 4
  %__value.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"class.std::vector"* %this, %"class.std::vector"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %__value, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__value.addr, align 4
  %this1 = load %"class.std::vector"** %this.addr
  %0 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base"* %0, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl, i32 0, i32 0
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_start, align 4
  %2 = load i32* %__n.addr, align 4
  %3 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %__value.addr, align 4
  %4 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %call = call %"class.std::allocator.0"* @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base"* %4)
  call void @_ZSt24__uninitialized_fill_n_aIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexEjSE_SE_EvT_T0_RKT1_RSaIT2_E(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %1, i32 %2, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %3, %"class.std::allocator.0"* %call)
  %5 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base"* %5, i32 0, i32 0
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl2, i32 0, i32 2
  %6 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_end_of_storage, align 4
  %7 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl3 = getelementptr inbounds %"struct.std::_Vector_base"* %7, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl3, i32 0, i32 1
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* %6, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish, align 4
  ret void
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE12_Vector_implC1ERKSF_(%"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %this, %"class.std::allocator.0"* %__a) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"*, align 4
  %__a.addr = alloca %"class.std::allocator.0"*, align 4
  store %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %this, %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"** %this.addr, align 4
  store %"class.std::allocator.0"* %__a, %"class.std::allocator.0"** %__a.addr, align 4
  %this1 = load %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"** %this.addr
  %0 = load %"class.std::allocator.0"** %__a.addr
  call void @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE12_Vector_implC2ERKSF_(%"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %this1, %"class.std::allocator.0"* %0)
  ret void
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_11undirectedSENS0_11no_propertyENS0_8propertyINS0_13edge_weight_tEiS6_EES6_NS0_5listSEEES4_S4_S5_S6_S9_S6_SA_E6config13stored_vertexESaISE_EE12_Vector_implC2ERKSF_(%"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %this, %"class.std::allocator.0"* %__a) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"*, align 4
  %__a.addr = alloca %"class.std::allocator.0"*, align 4
  store %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %this, %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"** %this.addr, align 4
  store %"class.std::allocator.0"* %__a, %"class.std::allocator.0"** %__a.addr, align 4
  %this1 = load %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"** %this.addr
  %0 = bitcast %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %this1 to %"class.std::allocator.0"*
  %1 = load %"class.std::allocator.0"** %__a.addr, align 4
  call void @_ZNSaIN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config13stored_vertexEEC2ERKSE_(%"class.std::allocator.0"* %0, %"class.std::allocator.0"* %1) nounwind
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %this1, i32 0, i32 0
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* null, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_start, align 4
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %this1, i32 0, i32 1
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* null, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish, align 4
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %this1, i32 0, i32 2
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"* null, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::undirectedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::config::stored_vertex"** %_M_end_of_storage, align 4
  ret void
}

define linkonce_odr void @_ZNSaIN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS5_EES5_NS_5listSEEES3_S3_S4_S5_S8_S5_S9_E6config13stored_vertexEEC2ERKSE_(%"class.std::allocator.0"* %this, %"class.std::allocator.0"* %__a) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator.0"*, align 4
  %__a.addr = alloca %"class.std::allocator.0"*, align 4
  store %"class.std::allocator.0"* %this, %"class.std::allocator.0"** %this.addr, align 4
  store %"class.std::allocator.0"* %__a, %"class.std::allocator.0"** %__a.addr, align 4
  %this1 = load %"class.std::allocator.0"** %this.addr
  %0 = bitcast %"class.std::allocator.0"* %this1 to %"class.__gnu_cxx::new_allocator.1"*
  %1 = load %"class.std::allocator.0"** %__a.addr, align 4
  %2 = bitcast %"class.std::allocator.0"* %1 to %"class.__gnu_cxx::new_allocator.1"*
  call void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_11undirectedSENS1_11no_propertyENS1_8propertyINS1_13edge_weight_tEiS7_EES7_NS1_5listSEEES5_S5_S6_S7_SA_S7_SB_E6config13stored_vertexEEC2ERKSG_(%"class.__gnu_cxx::new_allocator.1"* %0, %"class.__gnu_cxx::new_allocator.1"* %2) nounwind
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_11undirectedSENS1_11no_propertyENS1_8propertyINS1_13edge_weight_tEiS7_EES7_NS1_5listSEEES5_S5_S6_S7_SA_S7_SB_E6config13stored_vertexEEC2ERKSG_(%"class.__gnu_cxx::new_allocator.1"* %this, %"class.__gnu_cxx::new_allocator.1"*) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.1"*, align 4
  %.addr = alloca %"class.__gnu_cxx::new_allocator.1"*, align 4
  store %"class.__gnu_cxx::new_allocator.1"* %this, %"class.__gnu_cxx::new_allocator.1"** %this.addr, align 4
  store %"class.__gnu_cxx::new_allocator.1"* %0, %"class.__gnu_cxx::new_allocator.1"** %.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.1"** %this.addr
  ret void
}

define linkonce_odr void @_ZNSt4listIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EEC2Ev(%"class.std::list"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::list"*, align 4
  store %"class.std::list"* %this, %"class.std::list"** %this.addr, align 4
  %this1 = load %"class.std::list"** %this.addr
  %0 = bitcast %"class.std::list"* %this1 to %"class.std::_List_base"*
  call void @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EEC2Ev(%"class.std::_List_base"* %0)
  ret void
}

define linkonce_odr void @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EEC2Ev(%"class.std::_List_base"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::_List_base"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.std::_List_base"* %this, %"class.std::_List_base"** %this.addr, align 4
  %this1 = load %"class.std::_List_base"** %this.addr
  %_M_impl = getelementptr inbounds %"class.std::_List_base"* %this1, i32 0, i32 0
  call void @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EE10_List_implC1Ev(%"struct.std::_List_base<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_List_impl"* %_M_impl)
  invoke void @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EE7_M_initEv(%"class.std::_List_base"* %this1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  ret void

lpad:                                             ; preds = %entry
  %0 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %1 = extractvalue { i8*, i32 } %0, 0
  store i8* %1, i8** %exn.slot
  %2 = extractvalue { i8*, i32 } %0, 1
  store i32 %2, i32* %ehselector.slot
  call void @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EE10_List_implD1Ev(%"struct.std::_List_base<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_List_impl"* %_M_impl) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val2 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val2
}

define linkonce_odr void @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EE10_List_implC1Ev(%"struct.std::_List_base<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_List_impl"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::_List_base<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_List_impl"*, align 4
  store %"struct.std::_List_base<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_List_impl"* %this, %"struct.std::_List_base<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_List_impl"** %this.addr, align 4
  %this1 = load %"struct.std::_List_base<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_List_impl"** %this.addr
  call void @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EE10_List_implC2Ev(%"struct.std::_List_base<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_List_impl"* %this1)
  ret void
}

define linkonce_odr void @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EE7_M_initEv(%"class.std::_List_base"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::_List_base"*, align 4
  store %"class.std::_List_base"* %this, %"class.std::_List_base"** %this.addr, align 4
  %this1 = load %"class.std::_List_base"** %this.addr
  %_M_impl = getelementptr inbounds %"class.std::_List_base"* %this1, i32 0, i32 0
  %_M_node = getelementptr inbounds %"struct.std::_List_base<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_List_impl"* %_M_impl, i32 0, i32 0
  %_M_impl2 = getelementptr inbounds %"class.std::_List_base"* %this1, i32 0, i32 0
  %_M_node3 = getelementptr inbounds %"struct.std::_List_base<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_List_impl"* %_M_impl2, i32 0, i32 0
  %_M_next = getelementptr inbounds %"struct.std::__detail::_List_node_base"* %_M_node3, i32 0, i32 0
  store %"struct.std::__detail::_List_node_base"* %_M_node, %"struct.std::__detail::_List_node_base"** %_M_next, align 4
  %_M_impl4 = getelementptr inbounds %"class.std::_List_base"* %this1, i32 0, i32 0
  %_M_node5 = getelementptr inbounds %"struct.std::_List_base<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_List_impl"* %_M_impl4, i32 0, i32 0
  %_M_impl6 = getelementptr inbounds %"class.std::_List_base"* %this1, i32 0, i32 0
  %_M_node7 = getelementptr inbounds %"struct.std::_List_base<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_List_impl"* %_M_impl6, i32 0, i32 0
  %_M_prev = getelementptr inbounds %"struct.std::__detail::_List_node_base"* %_M_node7, i32 0, i32 1
  store %"struct.std::__detail::_List_node_base"* %_M_node5, %"struct.std::__detail::_List_node_base"** %_M_prev, align 4
  ret void
}

define linkonce_odr void @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEESaIS6_EE10_List_implC2Ev(%"struct.std::_List_base<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_List_impl"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::_List_base<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_List_impl"*, align 4
  store %"struct.std::_List_base<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_List_impl"* %this, %"struct.std::_List_base<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_List_impl"** %this.addr, align 4
  %this1 = load %"struct.std::_List_base<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_List_impl"** %this.addr
  %0 = bitcast %"struct.std::_List_base<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_List_impl"* %this1 to %"class.std::allocator"*
  call void @_ZNSaISt10_List_nodeIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEEEC2Ev(%"class.std::allocator"* %0) nounwind
  %_M_node = getelementptr inbounds %"struct.std::_List_base<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> >, std::allocator<boost::list_edge<unsigned int, boost::property<boost::edge_weight_t, int, boost::no_property> > > >::_List_impl"* %this1, i32 0, i32 0
  %1 = bitcast %"struct.std::__detail::_List_node_base"* %_M_node to i8*
  call void @llvm.memset.p0i8.i32(i8* %1, i8 0, i32 8, i32 4, i1 false)
  ret void
}

define linkonce_odr void @_ZNSaISt10_List_nodeIN5boost9list_edgeIjNS0_8propertyINS0_13edge_weight_tEiNS0_11no_propertyEEEEEEEC2Ev(%"class.std::allocator"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator"*, align 4
  store %"class.std::allocator"* %this, %"class.std::allocator"** %this.addr, align 4
  %this1 = load %"class.std::allocator"** %this.addr
  %0 = bitcast %"class.std::allocator"* %this1 to %"class.__gnu_cxx::new_allocator"*
  call void @_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5boost9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEEEC2Ev(%"class.__gnu_cxx::new_allocator"* %0) nounwind
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5boost9list_edgeIjNS2_8propertyINS2_13edge_weight_tEiNS2_11no_propertyEEEEEEEC2Ev(%"class.__gnu_cxx::new_allocator"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator"*, align 4
  store %"class.__gnu_cxx::new_allocator"* %this, %"class.__gnu_cxx::new_allocator"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator"** %this.addr
  ret void
}

define linkonce_odr void @_ZNSt4pairIiiEC2ERKiS2_(%"struct.std::pair"* %this, i32* %__a, i32* %__b) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::pair"*, align 4
  %__a.addr = alloca i32*, align 4
  %__b.addr = alloca i32*, align 4
  store %"struct.std::pair"* %this, %"struct.std::pair"** %this.addr, align 4
  store i32* %__a, i32** %__a.addr, align 4
  store i32* %__b, i32** %__b.addr, align 4
  %this1 = load %"struct.std::pair"** %this.addr
  %first = getelementptr inbounds %"struct.std::pair"* %this1, i32 0, i32 0
  %0 = load i32** %__a.addr, align 4
  %1 = load i32* %0, align 4
  store i32 %1, i32* %first, align 4
  %second = getelementptr inbounds %"struct.std::pair"* %this1, i32 0, i32 1
  %2 = load i32** %__b.addr, align 4
  %3 = load i32* %2, align 4
  store i32 %3, i32* %second, align 4
  ret void
}

define linkonce_odr void @_ZN5boost6detail35make_property_map_from_arg_pack_genINS_5graph8keywords3tag9color_mapENS_18default_color_typeEEC2ES6_(%"class.boost::detail::make_property_map_from_arg_pack_gen"* %this, i32 %default_value) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::make_property_map_from_arg_pack_gen"*, align 4
  %default_value.addr = alloca i32, align 4
  store %"class.boost::detail::make_property_map_from_arg_pack_gen"* %this, %"class.boost::detail::make_property_map_from_arg_pack_gen"** %this.addr, align 4
  store i32 %default_value, i32* %default_value.addr, align 4
  %this1 = load %"class.boost::detail::make_property_map_from_arg_pack_gen"** %this.addr
  %default_value2 = getelementptr inbounds %"class.boost::detail::make_property_map_from_arg_pack_gen"* %this1, i32 0, i32 0
  %0 = load i32* %default_value.addr, align 4
  store i32 %0, i32* %default_value2, align 4
  ret void
}

define linkonce_odr void @_ZN5boost14adjacency_listINS_4vecSES1_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS3_EES3_NS_5listSEED2Ev(%"class.boost::adjacency_list"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::adjacency_list"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.boost::adjacency_list"* %this, %"class.boost::adjacency_list"** %this.addr, align 4
  %this1 = load %"class.boost::adjacency_list"** %this.addr
  %m_property = getelementptr inbounds %"class.boost::adjacency_list"* %this1, i32 0, i32 1
  invoke void @_ZN5boost10scoped_ptrINS_11no_propertyEED1Ev(%"class.boost::scoped_ptr"* %m_property)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %0 = bitcast %"class.boost::adjacency_list"* %this1 to %"class.boost::vec_adj_list_impl"*
  call void @_ZN5boost17vec_adj_list_implINS_14adjacency_listINS_4vecSES2_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS4_EES4_NS_5listSEEENS_6detail12adj_list_genIS9_S2_S2_S3_S4_S7_S4_S8_E6configENS_23undirected_graph_helperISD_EEED2Ev(%"class.boost::vec_adj_list_impl"* %0)
  ret void

lpad:                                             ; preds = %entry
  %1 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %2 = extractvalue { i8*, i32 } %1, 0
  store i8* %2, i8** %exn.slot
  %3 = extractvalue { i8*, i32 } %1, 1
  store i32 %3, i32* %ehselector.slot
  %4 = bitcast %"class.boost::adjacency_list"* %this1 to %"class.boost::vec_adj_list_impl"*
  invoke void @_ZN5boost17vec_adj_list_implINS_14adjacency_listINS_4vecSES2_NS_11undirectedSENS_11no_propertyENS_8propertyINS_13edge_weight_tEiS4_EES4_NS_5listSEEENS_6detail12adj_list_genIS9_S2_S2_S3_S4_S7_S4_S8_E6configENS_23undirected_graph_helperISD_EEED2Ev(%"class.boost::vec_adj_list_impl"* %4)
          to label %invoke.cont2 unwind label %terminate.lpad

invoke.cont2:                                     ; preds = %lpad
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont2
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val3 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val3

terminate.lpad:                                   ; preds = %lpad
  %5 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZN5boost10scoped_ptrINS_11no_propertyEED1Ev(%"class.boost::scoped_ptr"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::scoped_ptr"*, align 4
  store %"class.boost::scoped_ptr"* %this, %"class.boost::scoped_ptr"** %this.addr, align 4
  %this1 = load %"class.boost::scoped_ptr"** %this.addr
  call void @_ZN5boost10scoped_ptrINS_11no_propertyEED2Ev(%"class.boost::scoped_ptr"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost10scoped_ptrINS_11no_propertyEED2Ev(%"class.boost::scoped_ptr"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::scoped_ptr"*, align 4
  store %"class.boost::scoped_ptr"* %this, %"class.boost::scoped_ptr"** %this.addr, align 4
  %this1 = load %"class.boost::scoped_ptr"** %this.addr
  %px = getelementptr inbounds %"class.boost::scoped_ptr"* %this1, i32 0, i32 0
  %0 = load %"struct.boost::no_property"** %px, align 4
  call void @_ZN5boost14checked_deleteINS_11no_propertyEEEvPT_(%"struct.boost::no_property"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost14checked_deleteINS_11no_propertyEEEvPT_(%"struct.boost::no_property"* %x) nounwind inlinehint {
entry:
  %x.addr = alloca %"struct.boost::no_property"*, align 4
  store %"struct.boost::no_property"* %x, %"struct.boost::no_property"** %x.addr, align 4
  %0 = load %"struct.boost::no_property"** %x.addr, align 4
  %isnull = icmp eq %"struct.boost::no_property"* %0, null
  br i1 %isnull, label %delete.end, label %delete.notnull

delete.notnull:                                   ; preds = %entry
  %1 = bitcast %"struct.boost::no_property"* %0 to i8*
  call void @_ZdlPv(i8* %1) nounwind
  br label %delete.end

delete.end:                                       ; preds = %delete.notnull, %entry
  ret void
}

define internal void @_GLOBAL__I_a() section ".text.startup" {
entry:
  call void @__cxx_global_var_init()
  call void @__cxx_global_var_init1()
  ret void
}
